可能重複:
How do I compare strings in Java?== vs .equals - 爲什麼不同的行爲?
我爲這個簡單的問題,對不起。 我有這個非常簡單的Java程序:
public class ArgIt {
public static void main(String[] args){
if(args[0].equals("x")) System.out.print("x");
if(args[0] == "x") System.out.println("x2 ");
}
}
如果我調用的程序>的java ArgIt X 只打印一個x。 在其他情況下,爲什麼程序不會在字符串上確認==?
我期待四個以上的答案 – dragon66
檢查字符串實習 - http://en.wikipedia.org/wiki/String_intern_pool。第二個條件失敗,因爲兩個字符串對象不相同,因此引用不相同,==返回false。 – 2012-05-10 14:14:35
http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.21 – hmjd