Я написал следующий Java-класс, основанный на приложении EXPENSES в папке SAMPLES исходного кода Google Web Toolkit. Код ниже.Попытка понять, как работают java enums
Моя цель - понять, как работают java enums, и я подумал, что это может быть хорошей отправной точкой. Я прочитал материал в Интернете о ENUMS, и я получил базовую концепцию. Однако я все еще пытаюсь понять этот фрагмент кода.
Это мой код:
public class Expenses {
public static enum Approval {
BLANK("", APPROVED("Approved"),DENIED("Denied"));
/**
* Get the {@link Approval} from the specified string.
*
* @param approval the approval string
* @return the {@link Approval}
*/
public static Approval from(String approval) {
if (APPROVED.is(approval)) {
return APPROVED;
} else if (DENIED.is(approval)) {
return DENIED;
}
return BLANK;
}
private final String text;
private Approval(String text) {
this.text = text;
}
public String getText() {
return text;
}
public boolean is(String compare) {
return text.equals(compare);
}
}
public static final String[] DEPARTMENTS = {
"Engineering", "Finance", "Marketing", "Operations", "Sales"};
}
Eclipse, жалуется УТВЕРЖДЕН и ЗАПРЕЩЕН.
The method DENIED(String) is undefined for the type
Expenses.Approval
- The method APPROVED(String) is undefined for the type
Expenses.Approval
Что такое BLANK (...) вещь? Это какая-то структура данных? Как это работает?
Все, что я ищу способ, чтобы понять этот код, и избавиться от ошибок компиляции, прежде чем пытаться работать на этом коде.
Проверьте свои круглые скобки. –
Это лучший учебник Enum: https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html. Найдите время, чтобы прочитать учебники, не просто слепо копировать код. – Freiheit
Спасибо. Это были круглые скобки. – user3825558