Java Language
Enum, начиная с номера
Поиск…
Вступление
Java не разрешает имя enum начинать с номера типа 100A, 25K. В этом случае мы можем добавить код с помощью _ (underscore) или любого разрешенного шаблона и проверить его.
Enum с именем при начале
public enum BookCode {
_10A("Simon Haykin", "Communication System"),
_42B("Stefan Hakins", "A Brief History of Time"),
E1("Sedra Smith", "Electronics Circuits");
private String author;
private String title;
BookCode(String author, String title) {
this.author = author;
this.title = title;
}
public String getName() {
String name = name();
if (name.charAt(0) == '_') {
name = name.substring(1, name.length());
}
return name;
}
public static BookCode of(String code) {
if (Character.isDigit(code.charAt(0))) {
code = "_" + code;
}
return BookCode.valueOf(code);
}
}
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow