Я столкнулся с проблемой на Eclipse с моим методом здесь. Мне необходимо вернуть Country
объект, если объект найден в массиве с именем catalog, и вернуть null, если он не найден. Я попытался перебрать каталог и сделать это. Однако Java требует, чтобы я добавил оператор возврата вне цикла for моего кода. Однако когда я добавляю инструкцию return вне цикла for, когда метод выполняется, он полностью игнорирует цикл for и возвращает только инструкцию вне цикла for.
public Country findCountry(String countryname) {
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName() == countryname) {
return catalogue[i];
} else {
return null;
}
}
}
Редактировать: Добавлена переменная foundCountry перед циклом и возвращена после. Добавил разрыв и сравнил строки, используя .equals (). Получение исключения NullPointerException.
public Country findCountry(String countryname) {
Country foundCountry = null;
for (int i = 0; i < catalogue.length; i++) {
if (catalogue[i].getName().equals(countryname)) {
foundCountry = catalogue[i];
break;
}
}
return foundCountry;
}