-------
android培训、
java培训、期待与您交流! ----------
String 对象
String s = "abc"
和
String s1 = new String("abc")
都是在创建String的对象,
当我们判断 s==s1 的时候他会返回false,因为他们创建了的对象不一样。
==是比较两个对象地址的
当我们判断 s.equals(s1)的时候他会返回true,因为String类重写了equals方法,他会判断连个对象的内容是否相同,也就是判断abc是否相同
我们知道字符串在内存中一点那创建了就不会改变,
但是我们在定义:String s = "abc": 然后 String s = "efg":
这是我们system.out.println(s); 会打印出:efg。
有些同学在这里可能迷惑了,不是abc是不变的,怎么输出efg呢?
abc在内存中是固定不变的,但是这里我们把引用 s 指向了efg,二内存中还是会存在abc的。