Вы можете реализовать эту функцию в вашем Enum
.
public enum Side {
BUY("B"), SELL("S"), ...
private String letter;
private Side(String letter) {
this.letter = letter;
}
public static Side fromLetter(String letter) {
for (side s : values() ){
if (s.letter.equals(letter)) return s;
}
return null;
}
}
Вы также можете сделать это в качестве вспомогательного статического метода, если вы не можете редактировать Side
.
public static Side fromString(String from) {
for (Side s: Side.values()) {
if (s.toString().startsWith(from)) {
return s;
}
}
throw new IllegalArgumentException( from );
}
Приведенный выше метод предполагает, что ваши строки соответствуют именам ваших перечислений.