【发布时间】:2010-12-26 13:29:47
【问题描述】:
public String makinStrings() {
String m = "Fred47";
String s = "Fred";
s = s + "47";
s = s.substring(0);
return s.toString();
}
代码创建了多少个对象?
我做了一个简单的测试:
public static void main(String[] args) {
String m = "a";
m += "bc";
String s1 = "mabc".substring(1);
String s2 = "abc";
System.out.println(m == "abc");
System.out.println(m == s1);
System.out.println(m == s2);
System.out.println(s1 == s2);
}
如果m、s1、s2指向同一个对象(“abc”),结果不应该是“真、真、真、真”吗? 结果却是“假,假,假,假”!
【问题讨论】: