【发布时间】:2013-04-13 09:13:14
【问题描述】:
String s1 = new String("string");
String s2 = new String("string");
String s3 = "string";
String s4 = "string";
System.out.println(s1 == s2); //FALSE
System.out.println(s2.equals(s1)); //TRUE
System.out.println(s3 == s4); //TRUE
System.out.println(s3.equals(s4)); //TRUE
创建s1和s3有什么区别?
请告诉我
在 String 中,我们只有 String 对象,那么为什么它以不同的方式对待这两个对象。
s1 和 s2 具有不同的内存地址,而 s3 和 s4 具有相同的内存地址。
为什么它基于 new 运算符工作?
【问题讨论】:
-
如果你想让你的概念在 java String 中清晰,请阅读 KathySierra Scjp 6。第6章弦对弦有精彩的解释,没有人能比她解释得更好。如果您想要 pdf,只需通过 nikhilagrawal60@gmail.com 将您的 mailID 给我。如果其他人有兴趣,他们也可以给我发邮件。
-
谢谢刚刚知道了.....