스칼라에서 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 |
| [scala] 문자열의 값에 해당하는 enum 타입 얻어오기 (0) | 2019.09.20 |
| [sbt] 1.3.0 (0) | 2019.09.06 |
| scala cats 공부 자료. (1) | 2019.06.18 |
| [spark] kubernetes(k8s) 배포하기 (0) | 2019.04.12 |



댓글을 달아 주세요