1
喜歡的東西:斯卡拉施放任何對選項[T]
def cast[T](o: Any): Option[T] = o match {
case v: T => Some(v)
case _ => None
}
或:
def cast[T](c: Class[T], o: Any): Option[T] = o match {
case v: T => Some(v)
case _ => None
}
這是一個好主意?是否有一個標準庫相當於?
爲什麼我得到,我如何解決以下Scala編譯器警告:
Warning:(7, 13) abstract type pattern T is unchecked since it is eliminated by erasure
case v: T => Some(v)
你並不需要特殊的方法:'scala.util.Try(o.asInstanceOf [T])toOption' – Yawar
@Yawar這是最簡潔並嚴格依賴標準庫,但涉及使用異常作爲流量控制。它有效,但我會採取pamu的解決方案。 – clay