Я работаю над проектом, и мне нужно сравнить два элемента одного и того же массиваСравнение двух элементов массива строк с .equals()
private void checkImports()
{
//import tester
for(int i = 0; i<theClass.length;i++)
{
for(int j = 0; j<i; j++)
{
if(theClass[i].equals(theClass[j]))
{
System.out.println("There is a double import at line " +i);
addError("Double import at line ",i)
}
}
}
}
массив заполняется со следующими строками:
"import java.x;" //0
"import java.y;" //1
"import java.z;" //2
"import java.x;" //3
по какой-то причине, когда я называю Равные() методом он никогда не имеет значение верно, когда я = 3 и у = 0. Любое объяснение, почему метод addError никогда не вызывается было бы оценен
(1) Проверьте дополнительные места в одной из строк (2) Покажите нам код, который заполняет массив – ajb
@Robert, OP сказал, что это значения массива (я полагаю, строки). Он никогда не говорил, что он назвал некоторые переменные/пакеты вроде этого – BackSlash
Ваш код работает при тестировании: [pastebin link] (http://pastebin.com/w5g8xKvb). Ваша проблема не в другом месте, а не в коде выше, но, возможно, с строками, указанными в «ajb». Время использовать отладчик или выполнять более интенсивную отладку. –