Java SE提供了三种字符串类:
不可变长:String
可变长:StringBuffer ,StringBuilder
区别在于:当字符串做拼接等修改操作的时候,不可变字符串会创建新的字符串对象;而可变字符串不会创建新的对象。
不可变字符串类:String,属于java.lang包。
String 字符串虽然是不可变字符串,但是可以进行拼接,只是会生成一个新的对象。
String的concat(String str)方法只能拼接String类型的字符串。
+可以拼接任何类型数据。
String s1 = "Hi";
String s2 = "Hi";
String s1 = s1 + " " + "V"
String s2 = s2.concat(" ").concat("V")
System.out.println(s1)
构造一个字符串:
String():使用空字符串创建并初始化一个新的String 对象
String(String original):使用另外一个字符串创建并初始化一个新的String对象。
String pool 不适用与new 所创建的字符串对象。
indexOf()
lastIndexOf()
比较的时候,“==”比较的是字符串是否是同一个引用,而非内容。
比较相等:
boolean equals(Object anObject)
boolean equalsIgnoreCase(String anotherString)
比较大小:
int compareTo()
int compareToIgnoreCase()
比较前缀和后缀:
boolean endsWith()
boolean startsWith()
本文深入探讨了JavaSE中三种字符串类的特点与区别,包括不可变长的String,以及可变长的StringBuffer和StringBuilder。解析了它们在拼接操作时的行为差异,以及String类的各种构造方法和常用操作如indexOf(), lastIndexOf(), equals(), compareTo()等。
1218

被折叠的 条评论
为什么被折叠?



