복붙노트

[SCALA] 왜 asInstanceOf ClassCastException를 슬로우하지 않는 이유는 무엇입니까?

SCALA

왜 asInstanceOf ClassCastException를 슬로우하지 않는 이유는 무엇입니까?

왜 asInstanceOf ClassCastException를 슬로우하지 않는 이유는 무엇입니까?

scala> List("a").asInstanceOf[List[Int]]
res34: List[Int] = List(a)

해결법

  1. ==============================

    1.scaladoc에서 :

    scaladoc에서 :

    당신이 변수에 액세스하려고하거나 변환을 매핑 할 경우 제대로 예외가 발생합니다 :

    scala> List("a").asInstanceOf[List[Int]]
    res0: List[Int] = List(a)
    
    scala> res0
    res1: List[Int] = List(a)
    
    scala> res0(0)
    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    
    List("a").map(_.asInstanceOf[Int])
    java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer
    
  2. from https://stackoverflow.com/questions/26089390/why-asinstanceof-doesnt-throw-a-classcastexception by cc-by-sa and MIT license