Possible Duplicate:
Java String.equals versus ==
我正在使用jcreator来练习java语言。我想出了一个条件语句,其中如果用户输入 =“test”,它将打印“okay!”信息。这是我的代码:
class conditional {
public static void main (String[] args) {
Scanner user_input = new Scanner(System.in);
String username;
System.out.print("username: ");
username = user_input.next();
if (username == "test") {
System.out.println("okay");
}
else {
System.out.println("not okay");
}
}
上面的代码没有显示任何错误,也没有显示“好的”&&“不好”的消息。我不确定我的逻辑有什么问题。
最佳答案
字符串应该使用.equals
而不是==
进行比较。所有非原始比较都是这种情况。例如,您可以将两个 int
字段与 ==
进行比较,但由于字符串不是原始类型,因此 .equals
是正确的选择。
if (username.equals("test")) {
关于Java 条件语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12275251/