目录
五、StringBuilder和StringBuffer的区别
一、String常用方法
二、equals 和 “==”的区别
equals用来判断字符串内容是否相等,"=="用来判断对象引用指向的地址是否相等。
举例:
String s1 = “China”;
String s2 = “China”;
String ss1= new String("China");
String ss2= new String("China");
在内存的储存示意如下
所以:
s1和ss1内容相同,但是指向的地址不同
s1和s2都指向常量池中的“china”,所以内容相同,指向地址相同
ss1和ss2内容相同,指向地址不相同
三、String类的不可变性
String类是一个final修饰的类,具有不可变性。不可变性的是指它的实例的地址不可变。
举例说:
String str = “jackie”;//执行这一行代码时,引用str指向常量池的“jackie”所在的内存空间
str = "Ben"; //执行这一行代码,时引用str指向了新的“Ben”的内存空间。被废弃的jackie对象在常量上的地址不变
四、StringBuilder
五、StringBuilder和StringBuffer的区别