我是java的新手。
class Demo{
public static void main(String[] args) {
String s1=new String("abc");
String s2=new String("abc");
String s3="xyz";
String s4="xyz";
System.out.println(s1==s2); //line 7
System.out.println(s3==s4); //line 8
}
}
我只是不明白为什么第7行出错并且第8行成真。
如果有人向我解释,我将非常感激。
答案 0 :(得分:-1)
使用时:
String s1=new String("abc");
String s2=new String("abc");
s1和s2是指在运行时创建的不同对象。
String s3="xyz";
String s4="xyz";
s3和s4在编译时分配,java编译器只存储该字符串的一个副本。