我有这个循环,但我不知道为什么它永远不会检查条件,我认为它可能适用于integer.tostring,如果可以,请帮助:
public static void linerSearch(String[] array1, int key){
int size = array1.length;
for(int i=0;i<size;i++){
if(array1[i] == Integer.toString(key)){ // < -- This line
System.out.println("The node is already in the list");
}
}
}
答案 0 :(得分:2)
if(Integer.parseInt(array1[i]) == key){
答案 1 :(得分:1)
if(array1[i].equals(Integer.toString(key))){
使用==
比较对象引用而不是值。你必须使用equals()
答案 2 :(得分:1)
您无法将字符串的内容与==
进行比较,您必须使用equals()
方法:
if (array1[i].equals(Integer.toString(key))