74
Cho phép nói rằng tôi có đoạn mã sau:Explicit Loại Chuyển đổi trong Scala
abstract class Animal
case class Dog(name:String) extends Animal
var foo:Animal = Dog("rover")
var bar:Dog = foo //ERROR!
Làm thế nào để sửa chữa các dòng cuối cùng của mã này? Về cơ bản, tôi chỉ muốn làm những gì, trong một ngôn ngữ giống như C sẽ được thực hiện:
var bar:Dog = (Dog) foo
Bạn không cần khối. – Anonymous
Ẩn danh: chặn nào? –
Lưu ý, cách thứ hai là dễ bị lỗi trên generics do loại JVM erasure –