String string1 = "Hi there";
String string2 = "Hi";
String string3 = "Hi";
System.out.println(string1.substring(0, string2.length()) == string2); //1
System.out.println(string1.substring(0, string2.length()).equals(string2)); //2
System.out.println(string1.substring(0, string2.length()).compareTo(string2)); //3
System.out.println(string2 == string3); //4
System.out.println(string2.substring(0) == string3); //5
System.out.println(string2.substring(0) == string3.substring(0)); //6
比較字符串給我的輸出:在Java
false
true
0
true
true
true
我真的不明白的第一行,爲什麼它給我假?
如果我添加一個空格串2並此行中我得到錯誤的,但如果我添加沒有空格,我得到真正:
System.out.println(string2.substring(0, string3.length()) == string3);
爲什麼要排隊1給我假,但6號線是真實的,但如果我添加一個空格,以STRING2這是假的..
感謝=)
這是怎麼回事? http://stackoverflow.com/search?q=Comparing+strings+in+java在輸入問題信息時,您沒有看到列表中包含主題下的所有鏈接的列表嗎?你是否打算按照建議的鏈接?爲什麼不? – BalusC 2009-12-02 15:19:25