반응형
Scala의 명시 적 유형 변환
다음 코드가 있다고 가정 해 보겠습니다.
abstract class Animal
case class Dog(name:String) extends Animal
var foo:Animal = Dog("rover")
var bar:Dog = foo //ERROR!
이 코드의 마지막 줄을 어떻게 수정합니까? 기본적으로 C와 유사한 언어로 수행되는 작업을 수행하고 싶습니다.
var bar:Dog = (Dog) foo
나는 이것을 스스로 알아 냈다. 두 가지 솔루션이 있습니다.
1) 명시 적 캐스트 수행 :
var bar:Dog = foo.asInstanceOf[Dog]
2) 패턴 매칭을 사용하여 캐스팅하면 오류도 포착됩니다.
var bar:Dog = foo match {
case x:Dog => x
case _ => {
// Error handling code here
}
}
참고 URL : https://stackoverflow.com/questions/171489/explicit-type-conversion-in-scala
반응형
'developer tip' 카테고리의 다른 글
| sql_mode의 특정 값을 어떻게 볼 수 있습니까? (0) | 2020.10.19 |
|---|---|
| 녹아웃보기에서 $ parent의 $ parent 액세스-중첩 컨텍스트 (0) | 2020.10.19 |
| jQuery 변경 이벤트 (0) | 2020.10.19 |
| Jekyll-메뉴 모음에서 현재 탭을 자동으로 강조 표시 (0) | 2020.10.18 |
| SQLAlchemy 삽입이 sqlite3를 직접 사용하는 것보다 25 배 느린 이유는 무엇입니까? (0) | 2020.10.18 |