黑马程序员_String 对象

来源:互联网 发布:手机淘宝怎样修改星评 编辑:程序博客网 时间:2024/05/01 12:44
------- 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的。