1、前言
String类是我们用来处理字符串的常用类。
在接下来,我会通过讲解:
创建String的方式->String之间的比较->String类的常用方法
来帮助你掌握String类的基本用法。
2、String的使用
2.1 创建String
创建String多种多样,这里列举了常用的几种。
有一点要注意,如果要通过byte数组创建字符串,byte数组中的单个值不能大于127,因为这里是通过ASCII码表来对应的。
// 直接对“zjx”引用
String string01 = "zjx";
// 将“zjx”传入构造方法进行构建
String string02 = new String("zjx");
// 通过字符数组构建
String string03 = new String(new char[]{'z','j','x'});
// 通过字节数组构建
String string04 = new String(new byte[]{97,98,99});
// 通过字节数组和索引构建
String string05 = new String(new byte[]{97,98,99},0,2);
// 通过字符数组和索引构建
String string06 = new String(new char[]{'z','j','x'},0,2);
String类的构造方法

2.2 String之间的比较
2.2.1 比较方式
一般情况下,String之间的比较是通过String类重写的equals方法来判定。
2.2.2 equals详解
String类重写的equals方法:
1 判断比较对象是否为自身 ,是则返回true ,不是则进行下一步。
2 判断比较对象是否为String类型 , 不是则返回false , 是则进行下一步。
3 字符串压缩功能是否被禁用 ,若禁用则跳到步骤4,为禁用则跳到步骤5。
4 若启用压缩,仅当两字符串编码相同时才继续比较,相等则下一步 , 不相等则返回false。
5 判断两个String类底层的
@Stable
private final byte[] value; //其实就是表现出来的字符串
是否一致,并返回结果。

2.3 常用方法
// equals区分大小写,判断内容是否一致
System.out.println("zjx 与 ZJX :" + "zjx".equals("ZJX"));
// equalsIgnoreCase忽略大小写,判断内容是否一致
System.out.println("zjx 与 ZJX :" + "zjx".equalsIgnoreCase("ZJX"));
// length获取字符串长度
System.out.println("zjx".length());
// indexOf获取字符在字符串中第一次出现的索引,若不存在该字符,返回-1
System.out.println("zjxzjx".indexOf("z"));
// indexOf获取字符在字符串中最后一次出现的索引,若不存在该字符,返回-1
System.out.println("zjxzjx".lastIndexOf("z"));
// split根据该字符分割字符串,若该字符不存在于字符串中,则不分割
System.out.println("zjxzjx".split("z").length);
// substring从指定索引处截取指定个数的字符串
System.out.println("zjxzjx".substring(1,2));
// trim去除前后空格
System.out.println(" zjxzjx ".trim());
// 获取在指定索引处的字符
System.out.println("zjx".charAt(1));
3、结束语
像“zjx”这种后面也是可以直接调用String类的方法,在两个String比较时,若一方一致固定,推荐让“zjx”这种字符串来调用equals,来避免空指针异常。
String类型的值是不可改变的,所发生的字符串变化,只不过是引用发生了变化。
网硕互联帮助中心






评论前必须登录!
注册