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