【Java】 字符串详解答(包含String、StringBuilder、StringJoiner)

71 阅读2分钟

字符串

字符串的比较

equals:比较字符串

equalsIgnoreCase:忽略大小写的比较

💡 因为String是引用数据类型,所以不能直接用 == [直接比较地址] 要使用equals 特别的,若是字符串为空,使用equals会报错,这时可以使用Objects类或者使用字符串常量的equals方法[详情见:⛳]

字符方法

id.charAt(index);  根据索引返回字符
id.length();       返回字符串的长度
id.substring(a,b); 截取[a,b)的字符串
id.substring(c);   截取c至到末尾的字符串
id.replace(a,b);   把字符串中所有的a替换为b 
**[这里的a和b可以是字符也可以是字符串,并且是返回一个新字符串,而不是修改原字符串]**
public int indexOf(int ch);  返回指定字符在字符串中第一次出现处的索引,
                             如果此字符串中没有这样的字符,则返回 -1。

字符串和字符数组的转化

id.tocharArray();     把字符串id变为字符数组
String s = new (arr); 把字符数组arr变为字符串s

StringBuilder类

StringBuilder 属于一个容器,可以便捷的添加、修改字符串

他没有重写toString方法

常用方法

append(任意类型) 添加数据,放回对象本身
reverse() 反转容器的内容,返回对象本身
length();
toString(); 把StringBuilder转化为String

📘 什么是【返回对象本身】? 不像String的replace方法 [返回一个新对象,原来的是不会改变的] 。而是,[原来的对象会转变,且也会返回新对象]

StringJoiner类

StringJoiner用于输出字符串时需要间隔的情况

add(String s); 只能添加字符串类型
StringJoiner sj = new StringJoiner("---"); //间隔符号
StringJoiner sj = new StringJoiner("," , "[" , "]"); //间隔符号,开始符号,结束符号

📘 输出时以每次add的字符串为单位,字符串之间才会有符号