у меня ниже перечисление -Как сравнить входную строку с перечислением?
public enum TestEnum {
h1, h2, h3, h4;
public static String forCode(int code) {
return (code >= 0 && code < values().length) ? values()[code].name() : null;
}
public static void main(String[] args) {
System.out.println(TestEnum.h1.name());
String ss = "h1";
// check here whether ss is in my enum or not
}
}
Теперь то, что я хочу, чтобы проверить, получает строку h1
, мне нужно, чтобы увидеть ли эта строка h1
в моем перечислении или нет? Как мне сделать это с помощью перечисления?
Есть ли способ, который я могу использовать, если вместо этого проверяется инструкция? –
Не ... на самом деле, не без смещения работы в другом месте. Вы можете создать статическую окончательную карту имен перечислений или цикл непосредственно над значениями перечисления. –
@SSH 'values' и' valueOf' определяются [JLS] (http://docs.oracle.com/javase/specs/jls/se7/html/jls-8.html#jls-8.9) и они не определили версию 'boolean', которая проверяет. Думаю, это была бы полезная функция. (Я еще не знаю Java 8 - они не добавили этого, не так ли?) В любом случае, если бы я не хотел использовать исключения, я бы перебирал «значения». – ajb