String s4 = "I love " + s1;
//比较字符串s4和s3
// s1是变量,s4在运行时才知道具体值,所以s3和s4是不同的对象
System.out.println("s3和s4内存地址相同吗?" + (s4 == s3));
}
1、Java中的String对象都是常量,因此字符串对象加上另一个字符串的时候会产生一个新的字符串对象,然后赋值给s4
所以地址不同,请看api文档