반응형
스칼라에서 변수를 어떻게 캐스트합니까?
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
반응형
'programing' 카테고리의 다른 글
{…} 시도가 마지막으로 {…} 좋은 이유는 무엇입니까? (0) | 2020.05.10 |
---|---|
symfony2에서 요청 매개 변수를 얻는 방법 (0) | 2020.05.10 |
Gson-Json에서 형식화 된 ArrayList로 변환 (0) | 2020.05.10 |
예를 들어 메시지의 수신자 유형 ***는 전달 선언입니다. (0) | 2020.05.10 |
프로그래밍 방식으로 뷰에 ID를 할당하려면 어떻게해야합니까? (0) | 2020.05.10 |