import java.util.Scanner; 公共类RandomTest {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
String[] alphabets={"a","b"};
String [] cipher={"b","c"};
System.out.println("Please enter a letter.");
String word=input.nextLine();
for (int i=0;i<2;i++){
if (word.equals(alphabets[i])){
System.out.println("Preparing a cipher");
System.out.println("Here is the cipher: "+cipher[i]);
}
}
}
}
上面的代码完全没问题,但是如果我放(word.equals(alphabets[i]))
,它就不会说word==alphabets[i]
,而是根本无法工作。使用后者时,程序不会检查输入是否等于数组中的值。为什么会这样?
答案 0 :(得分:0)
==
是一个运算符,用于比较对象在内存中的位置。 equals()
是Object
中定义的用于比较实际内容/值的方法。默认情况下,这两个选项的行为相似,但在比较字符串时,Java的String
类会覆盖equals()
。
将来,请在提问之前进行研究。有很多信息可以在互联网上找到。