对于用户试图猜测名称的迷你游戏。但是,当我想比较两个文本字符串只是为了检查是否相同似乎不起作用。
final String miName = "Jhon";
Scanner input = new Scanner(System.in);
System.out.println("Guess my name: ");
while (true) {
String attempt = input.next();
if(attempt == miName) {
System.out.println("Congrats!");
break;
} else {
System.out.println("Try it again!");
}
}
输出:
Guess my name::
Karl
Try it again!
jhon
Try it again!
Jhon
Try it again!
答案 0 :(得分:0)
如果是.equals
,则需要使用String
。
==
仅在对象的地址匹配时(或在原始类型的情况下)给出true
。
Object
类固有地比较.equals
方法中的地址,如果您希望为两个对象的相等性编写自己的自定义逻辑,则需要覆盖.equals
方法。
String
,Integer
等类已经覆盖了等号。