Проблема в том, что вы вызываете метод equals
для некоторых элементов без предварительной проверки на null
.
Изменить на:
for(int i=0; i<m.size(); i++){
if(m.get(i) != null && !(m.get(i).equals(n.get(i)))){
result = true;
break;
}
}
Или, если вы хотите, чтобы два null
значения сравнивались равными:
for(int i=0; i<m.size(); i++){
if (m.get(i) == null) {
if (n.get(i) != null) {
result = true;
}
} else if(!(m.get(i).equals(n.get(i)))){
result = true;
}
if (result) {
break;
}
}
Одна вещь, которую я не понимаю - почему вы устанавливаете результат в true, когда вы обнаружите несоответствие? Разве вы не хотите возвращать true, если оба списка совпадают, и false в противном случае?