[SCALA] 어떻게 스칼라에서 적절한 널 안전 병합 연산자를 쓰기?
SCALA어떻게 스칼라에서 적절한 널 안전 병합 연산자를 쓰기?
내가 대답 할 수 있도록 답변을 NPE를 잡아 스택 추적 밖으로 변환 된 이름을 준설하려고 같은 공포 쇼를 포함하는이 같은 질문으로 나오는 볼 데, 나는이 질문을하고있다.
댓글 또는 추가 개선은 환영합니다.
해결법
-
==============================
1.그래서 같이 :
그래서 같이 :
case class ?:[T](x: T) { def apply(): T = x def apply[U >: Null](f: T => U): ?:[U] = if (x == null) ?:[U](null) else ?:[U](f(x)) }
그리고 행동 :
scala> val x = ?:("hel")(_ + "lo ")(_ * 2)(_ + "world")() x: java.lang.String = hello hello world scala> val x = ?:("hel")(_ + "lo ")(_ => (null: String))(_ + "world")() x: java.lang.String = null
from https://stackoverflow.com/questions/1364361/how-to-write-a-proper-null-safe-coalescing-operator-in-scala by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 사용 기능에 통역으로 스칼라 파일을로드? (0) | 2019.11.11 |
---|---|
[SCALA] 스칼라에서 대 부자 패턴 (0) | 2019.11.11 |
[SCALA] 형식화가 스파크 데이터 세트와 스칼라에 참여 수행 (0) | 2019.11.11 |
[SCALA] 스칼라 : 패턴 매칭의 짧은 형식 부울을 반환 (0) | 2019.11.11 |
[SCALA] 스파크 dataframe에 열의 Null 허용 속성을 변경 (0) | 2019.11.11 |