Có thể ai đó cho tôi biết làm thế nào tôi có thể tránh được cảnh báo trong khối mã bên dưới:loại hoa văn trừu tượng được đánh dấu kể từ khi nó được loại bỏ bằng cách tẩy xoá
abstract class Foo[T <: Bar]{
case class CaseClass[T <: Bar](t: T)
def method1 = {
case CaseClass(t: T) => println(t)
csse _ =>
}
}
Điều này dẫn đến một cảnh báo trình biên dịch:
abstract type pattern T is unchecked since it is eliminated by erasure
case CaseClass(t: T) => println(t)
^
gì 'T <: Bar' nghĩa trên dòng 1? –
Nó chỉ có nghĩa là kiểu tham số t được giới hạn ở trên bởi T. Hoặc nói cách khác T là một kiểu con của Bar hoặc Bar. –