【发布时间】:2014-01-20 01:41:32
【问题描述】:
我得到这样的用户输入:
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。怎么回事?
【问题讨论】:
-
我会说那是个骗子。我正在学习Java;从 JavaScript 迁移——这对我来说是一个新概念。
-
对不起,我们可以添加
dumb-question标签 -
这个问题不傻。每个新秀都会犯这个错误。不用担心。
-
补充@Pshemo 所说的,大多数初学者都犯了一个错误,即Java 中的字符串被视为原语。这是由于它们的初始化方式以及操作员如何影响它们。我知道我也曾经去过那里。
标签: java eclipse string if-statement match