2014-01-20 49 views
0

我得到了用戶的輸入,像這樣:爲什麼這些字符串不匹配?

Scanner keyboard = new Scanner(System.in); 
String input = keyboard.nextLine(); 

當我比較像這樣

if(input == "abc"){ 
    System.out.println("Match!"); 
}else{ 
    System.out.println(input + "\nabc"); 
} 

如果我輸入 「ABC」 我看到

ABC
abc

而不是預期的match。這是怎麼回事?

+0

我會說這是一個騙局。我正在學習Java;從JavaScript移動 - 這是一個新概念給我。 – Gary

+0

對不起,我們可以添加'dumb-question'標籤 – Gary

+2

這個問題不是愚蠢的。每個新手都犯這個錯誤。別擔心。 – Pshemo

回答

3

您正在比較String參考值,而不是String值。改爲使用String.equals方法。

1

==比較內存位置。您需要使用input.equals(「abc」)。

相關問題