java为什么这些字符串不匹配?
我得到的用户输入如下:
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
。发生什么事了
# 1 楼答案
==正在比较内存位置。您需要使用输入。取而代之的是相等(“abc”)
# 2 楼答案
您正在比较
String
引用,而不是String
值。改用String.equals
方法