假设我有一堂课如下:
class Apple {
String apple;
Apple(String apple) {
this.apple = apple;
}
}
是什么使以下代码为真?
public boolean result() {
Apple a = new Apple("apple");
Apple b = new Apple("apple");
return a.apple == b.apple;
}
Java 是否会自动在我的对象实例中设置实习生字符串?
Java唯一不实习字符串的时间是使用创建它们的时候new String("...")
吗?
编辑:
感谢您的回答,这个问题的扩展就是说
Apple a = new Apple(new String("apple"));
Apple b = new Apple(new String("apple"));
使用相同的测试返回false 。
这是因为我将 String 的实例传递给构造函数,而不是 String 文字。