scala
[scala] 문자열의 값에 해당하는 enum 타입 얻어오기
'김용환'
2019. 9. 20. 15:25
스칼라에서 enum 타입에 맞는 문자열 값을 찾아 enum을 리턴하는 메소드가 필요하다.
이럴 때는 사용할 만한 메소드로 filter와 find가 적당하다.
filter는 List 배열을 리턴하기에 마땅치 않고 find가 적당한 것 같다.
public enum TestEnum {
A("a"),
B("b");
private String value;
private TestEnum(String value) {
this.value = value;
}
public String getValue() {
return value;
}
}
object Test {
def main(args: Array[String]): Unit = {
val wrongEnumType : String = "xxx"
val wrong = TestEnum.values().find(e => wrongEnumType.equals(e.getValue))
if (wrong.isDefined) {
println(wrong)
} else {
println("wrong enum type")
}
}
}