public class A {
static String s1 = "I am A";
public static void main(String[] args) {
String s2 = "I am A";
System.out.println(s1 == s2);
}
}
上面的程序输出 “真”。两者都是两个不同的标识符/对象输出是如何“真”的?基本的Java问题:字符串平等
我的理解是,JVM会为每个对象不同的参考,如果输出是那么如何正确的?
有关字符串池的信息,请查看维基百科:http://en.wikipedia.org/wiki/String_interning(+1同一想法) – 2009-12-13 10:55:17
是的,字符串文字会根据实习方法API - http ://java.sun.com/javase/6/docs/api/java/lang/String.html – Ash 2009-12-13 10:55:39
这不仅仅是文字,也是编译时常量。 – 2009-12-13 10:59:25