为什么这些字符串不匹配?

时间:2014-01-20 01:41:33

标签: java eclipse string if-statement match

我正在获得用户输入:

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。发生了什么事?

2 个答案:

答案 0 :(得分:3)

您正在比较String个引用,而不是String个值。请改用String.equals方法。

答案 1 :(得分:1)

==正在比较内存位置。你需要使用input.equals(“abc”)。