可能重复:
如何比较 Java 中的字符串?
我写了这段代码:
public String[] removeDuplicates(String[] input){
int i;
int j;
int dups = 0;
int array_length = input.length;
for(i=0; i < array_length; i++){
//check whether it occurs more than once
for(j=0; j < array_length; j++){
if (input[i] == input[j] && i != j){
dups++; //set duplicates boolean true
input[j] = null; //remove second occurence
} //if cond
} // for j
} // for i
System.out.println("Category contained " + dups + " duplicates.");
return input;
}
它应该检查一个字符串数组是否包含一个或多个重复项。但是,即使我这样定义数组:
String[] temp = new String[2];
temp[0] = "a";
temp[1] = "a";
if 条件未被“触发”。我误解了 && 的工作原理吗?在我看来,程序应该首先检查两个字符串是否相同(它们是...),然后检查两个索引是否相同。如果不是,它应该执行操作。但是,这些程序似乎不这么认为。