String summer = new String("Summer");
String summer2 = "Summer";
System.out.println("Summer");
System.out.println("autumn");
System.out.println("autumn" == "summer");
String autumn = new String("Summer");
我的答案是2 + 0 + 0 + 1 + 1 + 1 = 5。这是正确的吗?
最佳答案
对我来说听起来很合理。
String summer = new String("Summer");
创建了2个实例。第一个是文字
"Summer"
。第二个原因是因为调用了构造函数。String summer2 = "Summer";
0个实例:这只是一个参考分配。
System.out.println("Summer");
0个实例。文字
"Summer"
是从缓存中获取的。System.out.println("autumn");
1个实例
"autumn"
System.out.println("autumn" == "summer");
1个实例
"summer"
String autumn = new String("Summer");
1个实例,由构造函数调用引起。文字
"Summer"
是从缓存中获取的。底线:2 + 0 + 0 + 1 + 1 + 1 = 5