У меня действительно странная ошибка enum в Java.
for(Answer ans : assessmentResult.getAnswersAsList()) { //originally stored in a table
//AnswerStatus stat = ans.getStatus();
if (ans.getStatus() == AnswerStatus.NOT_ASSESSED) {
assessed = false;
}
}
Ответ - это ответ на вопрос теста. Результат оценки - это результат теста, который студент получает (включая сборник ответов).
Я отлаживал приведенный выше код, и ans.getStatus()
возвращает AnswerStatus.ASSESSED
.
Тем не менее, строка if возвращает значение true, а для параметра оценке установлено значение false.
Но вещь, которая мне кажется наиболее странной; Когда я объявляю переменную AnswerStatus
stat, она работает, даже если я не использую переменную stat в тесте if. Может ли кто-нибудь сказать мне, что происходит?
Я читал кое-что об ошибках enum в сериализации / RMI-IIOP, но я не использую это здесь.
enum AnswerStatus
может быть ASSESSED
или NOT_ASSESSED
.
Метод getStatus
в классе Answer
просто возвращает статус, ничего больше.