programing

스칼라에서 변수를 어떻게 캐스트합니까?

new-time 2020. 5. 10. 12:32
반응형

스칼라에서 변수를 어떻게 캐스트합니까?


type 변수가 주어지면 Scala에서

Graphics

어떻게 캐스트

Graphics2D

합니까?


선호하는 기술은 패턴 일치를 사용하는 것입니다. 이를 통해 해당 값 이 지정된 유형

아닌

경우를 정상적으로 처리 할 수 ​​있습니다 .

g match {
  case g2: Graphics2D => g2
  case _ => throw new ClassCastException
}

이 블록은

asInstanceOf[Graphics2D]

방법 의 의미론을 복제 하지만 유연성이 뛰어납니다. 예를 들어 여러 유형에 대해 서로 다른 분기를 제공하여 동시에 여러 조건부 캐스트를 효과적으로 수행 할 수 있습니다. 마지막으로, 당신은하지 않습니다

정말

, 당신은 또한 반환 할 수 캐치 - 모든 지역에서 예외를 throw 할 필요가

null

(또는 바람직

None

), 또는 당신은없이 작동 일부 대체 분기를 입력 할 수 있습니다

Graphics2D

.요컨대, 이것은 실제로 갈 길입니다. 보다 문법적으로 약간 부피가 크지

asInstanceOf

만 추가 된 유연성은 거의 항상 가치가 있습니다.


g.asInstanceOf[Graphics2D];

참고 URL :

https://stackoverflow.com/questions/931463/how-do-i-cast-a-variable-in-scala

반응형