Это звучит из вопроса, как будто он не хочет, чтобы вы возвращали boolean
, но String
со значением YES
или значением NO
вместо boolean
, так что вынужно перевести результат выражения boolean
в String
со значением YES
или значением NO
.
Таким образом, в этом случае нет необходимости возиться сboolean
в вашем коде. Вы можете сравнить генерацию CPU
и просто вернуть YES
, если значение true
и NO
, если значение false
:
public String isHigherGeneration(CPU cpu) {
if (generation > cpu.generation) {
return "YES";
} else {
return "NO";
}
}
Редактировать: Из звуков требованийвам нужен метод boolean
, который возвращает String
, что невозможно. (Это все равно, что сказать, что вы хотите купить яблоко, но в итоге получите грушу.) Если вам нужен результат String
и метод boolean
, вы можете разделить их на три, например:
// Boolean method
public boolean isHigherGeneration(CPU cpu) {
return generation > cpu.generation;
}
// String method
public String toYesNo(boolean result) {
if (result) {
return "YES";
} else {
return "NO";
}
}
// Converter
public String isHigherGenerationYesNo(CPU cpu) {
return toYesNo(isHigherGeneration(cpu));
}
но это все кажется глупым. Я думаю, может быть, у нас возникло недоразумение в этом вопросе. Не могли бы вы опубликовать вопрос дословно, чтобы мы могли убедиться, что поняли его правильно?