스칼라에서 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")
}
}
}
'scala' 카테고리의 다른 글
[펌] [spark] spark graceful하게 종료하는 방법 (0) | 2019.10.02 |
---|---|
[sbt] spark 프로젝트에서 sbt test 할 때 shutdown hook 에러 제거 (0) | 2019.09.27 |
[sbt] 1.3.0 (0) | 2019.09.06 |
scala cats 공부 자료. (1) | 2019.06.18 |
[spark] kubernetes(k8s) 배포하기 (0) | 2019.04.12 |