String类常用方法

在平时,我们程序猿其实更关心的是两个对象的实体,而不是两者的引用是否相同.判断两个String对象的实体,即字符串序列是否相同

String类常用的方法

1、获取字符序列长度public int length()
例如:
String china=“2021年6月20号”;
int n1,n2;
n1=china.length() n1的值是10
n2=“java程序猿” n2的值是7

2、判断2个String对象的字符序列是否相等,或者说实体是否相等
例如
“中国”.equals(china)
这句话的含义是 中国2个字的实体,与china对象里面所存放的引用所对应的实体是否相等

"中国"也是一个String对象,不过该对象是存放在常量池中
比较的时候忽略大小写

3、public boolean startsWith(String s),判断字符序列是否是指定对象前缀
String tom=“天气预报,阴天有小雨”;

tom.startWith(“天气”) 结果是true

public boolean endsWith(String s),判断字符序列是否是指定对象前缀
String tom=“天气预报,阴天有小雨”;

tom.startWith(“小明”) 结果是false

4、public int compareTo(String s)比较在Unicode表中的位置
按字典序列与参数s的字符序列比较大小,比较的是Unicode表中排序的位置
如果== 返回值为0,小于返回值是当前对象的Unicode减去s的字符序列unicode
例如:
String n1=“abcad”;
String n2=“abce”;
System.out.println( n1.compareTo(n2));

因为前面abc都一样,那么开始比较第4位 n1.[3]-n2.[4]=a-e=97-101=-4,比到第四位如果是非0值,就比较结束了

如果前缀都一样例如:
String n1=“abcad”;
String n2=“abcadzhbadasd”;
System.out.println( n1.compareTo(n2));
那么比较的就是字符的个数: 当前输出结果是5-13=-8

该功能还可以用compareToIgnoreCase(String s)实现,这个方法不区分大小写

5、public boolean contains(String s),判断一个字符序列是否包含另外一个字符序列
例如 String s=“abs”;
String t=“sasabssas”;
t.contains(s)判断当前对象中的实体序列中是否包含s对象实体序列
上面案例是true,不存在则返回false

6、public int indexOf(String str)和public int lastIndexOf(String str)
例如:
String tom=“I am a good cat”;
tom.indexOf(a);返回值是2,I是0 空格是1 a是2
public int indexOf(String str,stratpoint n)
参数n 是用来减速 str 从n位置以后再进行检索,n之前的不进行检索
例如:
tom.indexOf(a,7);返回值就是 13 ,而不是2

lastIndexOf(String str)是检测最后一次检测到str的位置,并且返回

1、值得注意的是String对象中,字符序列如果包含有转义字符,那么该转义字符是一个字符,例如\n(换行)是一个字符,不是2个字符。

2、*如果字符序列中中包含有目录符,那么必须写成转义形式的\,而不是*
这个时候\算一个字符的,而不是算2个字符
例如:
String path=“C:\\ProgramFiles\\Java”;
System.out.println(path.indexOf("\ \")); 输出的值为2
System.out.println(path.lastIndexOf("\ \")); 输出的值为15
在这里插入图片描述

7、从一个字符串中截取一部分字符,生成一个新的字符串对象
public String substring(int start,end)
例如:
String tom=“我喜欢代晓琼啊”;
String str=tom.substring(3,6);
System.out.println(str);
值得注意的是结果不是代晓琼啊而是代晓琼在这里插入图片描述

8、去掉字符串中前后的空格
public String trim()
这个没什么好讲的,
例如
String str=" 我喜欢代晓琼 "
System.out.println(str);
System.out.println(str.trim();
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Code攻城狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值