JAVA类---String类

目录

概念

String类的equals方法

字符串操作

获取

 判断

 转换

替换

切割

子串

转换,去除空格,比较


概念

  • 字符串一旦初始化就不可以被改变
  • 字符串是一个常量,也是一个对象,是一个特殊的对象
  • String被final修饰是不能被继承的,字符串是常量,在内存中可以共享 。
String s1="abc";   //s1是一个类类型变量,"abc"是一个对象,字符串最大特点:一旦初始化就不可以被改变

String s2=new String("abc");


//s1和s2有什么区别?
s1在内存中有一个对象
s2在内存中有两个对象(new是一个,“abc”是一个)

String类的equals方法

==是直接比较的两个对象的堆内存地址,如果相等,则说明这两个引用实际是指向同一个对象地址的。

在Object类型的equals方法是直接通过==来比较的,和==是没有任何区别的,但是String类重写了Object类中的equals方法,该方法用于判断字符串是否相同

String s1="abc";
String s2="abc";

System.out.println(s1==s2);   //ture 因为字符串存放在常量池中,所以重复的字符串不会在新增一个地址

 

字符串操作

String类适合用于描述字符串事物,那么它就提供了多个方法对字符串进行操作

获取

1.字符串中的包含的字符数,也就是字符串的长度

int length(): //获取长度

2.根据位置获取位置上某个字符

char charAt(int index);

3.根据字符获取该字符在字符串中位置

int indexOf(int ch);  //返回的是在ch在字符串中第一次出现的位置
int indexOf(int ch,int fromIndex);  //从fromIndex指定位置开始,获取ch在字符串中出现的位置
int indexOf(String str);   //返回的是str在字符串中第一次出现的位置
int indexOf(string str,int fromIndex);  //从fromIndex指定位置开始,获取str在字符串中出现的位置
int lastIndexOf(int ch);

 判断

1字符串中是否包含某一个子串

boolean contains(str);
//特殊之处:indexOf(str):可以索引str第一次出现位置,如果返回-1,表示该str不在字符串中存在,所以,也可以用于对指定判断是否包含。而且该方法既可以判断,又可以获取出现的位置

 2.字符串是否有内容

boolean isEmpty(); //原理是判断长度是否为0

3.字符串是否是以指定内容开头

boolean startsWith(str);

 4.字符串是否是以指定内容结尾

boolean endsWith(str);

5.判断字符串内容是否相同,复写了Object类中的equals方法

boolean equals(str);

6.判断内容是否相同,并忽略大小写

boolean equalsIgnoreCase();

 转换

1.将字符数组转成字符串

构造函数:
String(char[])
String(char[],offset,count); //将字符数组中的一部分转成字符串
静态方法:
static String copyValueOf(char[])
static String copyValueOf(char[]data,int offset,int count)
static String valueOf(char[])

2.将字符串转成字符数组

char[] toCharArray();

3.将字节数组转成字符串

String(byte[])
String(byte[],offset,count); //将字节数组中的一部分转成字符串。

4.将字符串转成字节数组

byte[] getBytes();

5.将基本数据类型转成字符串

static String valueOf(int)
static String valueOf(double)

//将int类型转换为string类型
3+"";
String.valueOf(3);

 特殊:字符串和字节数组在转换过程中,是可以指定编码表的

替换

String replace(oldchar,newchar);

切割

String[] split(regex);

子串

获取字符串中的一部分

String substring(begin);  //从指定位置开始到结尾
String substring(begin,end);  //包含头,不包含尾,
s.substring(0,s.length());  //获得整个字符串

转换,去除空格,比较

1.将字符串转成大写或者小写

String toUpperCase();
String toLowerCase();

2.将字符串两端的多个空格去除

String trim();

3.对两个字符串进行自然顺序的比较

int compareTo(string)

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值