
image.png
String:常量字符串,无法修改
字符串创建后再次给字符串赋值时,并不是对原来堆中实例对象进行重新赋值,而是生成一个新的实例对象,并且指向新的字符串,a则指向最新生成的实例对象,之前的实例对象仍然存在,如果没有被再次引用,则会被垃圾回收。
比较方法:
1.== 比较对象本身
System.out.println(a==b);
2.equals比较内容
System.out.println(a.equals(b));
3.compareTo 获取大小关系ASCII码 1:a>b , 0:a=b , -1:a<b
System.out.println(a.compareTo("内容"));
a instanceof b:判断a是否是b类的一个对象
a.isEmpty():判断字符串a是否为空
a.startWith/endWith(“内容”):判断字符串是否以该内容开头、结尾
a.indexOf("内容",“数字”):获取某个字符串在字符串的起始位置
a.substring("数字","数字"):获取子字符串
a.replaceAll("内容","内容"):在原来的基础上拷贝并替换,不会改变原来的字符串
a.split("内容"):字符串的分割
a.trim():将字符串末尾的空格去掉
StringBuilder:
(和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。多数情况下建议使用 StringBuilder 类。然而在应用程序要求线程安全的情况下,则必须使用 StringBuffer 类。)
StringBuilder s = new StringBuilder();
s.append("nihao"):添加内容
s.replace(0,3,"wu"):替换内容
s.delete(0,3):删除内容