2014-01-20 47 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”)。

相关问题