gpt4 book ai didi

java - 在 else-if 循环中比较字符串和变量时出现问题

转载 作者:行者123 更新时间:2023-12-01 13:25:53 24 4
gpt4 key购买 nike

我有一个else-if将变量与 String 进行比较的循环信,但似乎没有检测到任何匹配项。我的代码如下:

public static void useMove(String move){
System.out.println(move);
System.out.println(move.getClass().getName());
if(move == "N"){
GLObject.MOVE('N');
}
else if(move == "E"){
GLObject.MOVE('E');
}
else if(move == "S"){
System.out.println("GOT HERE");
GLObject.MOVE('S');
}
else if(move == "W"){
GLObject.MOVE('W');
}
else if(move == "HELLO"){
GLObject.HELLO();
}
else if(move == "PICKUP"){
GLObject.PICKUP();
}
else if(move == "LOOK"){
GLObject.LOOK();
}
else if(move == "QUIT"){
GLObject.QUIT();
}
}

如果我输入 move 的值作为字符串“S”,它不会检测到 move 等于“S”。所以我得到的输出是:

S
java.lang.String

谁能告诉我问题出在哪里吗?

非常感谢。

最佳答案

在 Java 中,您应该使用 equals 方法执行字符串比较,因此在您的情况下,您必须使用:

if(move.equals("PICKUP")){
// do something
}

// the comparisons for the other cases work the same way

关于java - 在 else-if 循环中比较字符串和变量时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21812169/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com