Tôi có một đối tượng Java OldFashioned
mở rộng Java 1.4 List
:Cách thêm đối tượng vào Danh sách Java không tham số?
[Java]
class OldFashioned extends List { ... }
Đó là, OldFashioned
không mất bất kỳ thông số kiểu. Tôi cần thêm SomeObject
vào nó. Trong Java không có vấn đề gì, vì nó xử lý List
1.4 là List<Object>
1.5 và cho phép thêm bất kỳ lớp con nào của Object
vào bộ sưu tập. Nhưng Scala thì không. Vì vậy, mã tiếp theo không hoạt động:
[Scala]
val oldFashioned = new OldFashioned()
oldFashioned.add(new SomeObject) // found: SomeObject; required: E
Đó là, Scala biên dịch đòi hỏi để vượt qua các tham số kiểu để OldFashioned
mà thực sự không đưa họ:
[Scala]
var oldFashioned: OldFashioned[SomeObject] = null // OldFashioned does not take type parameters
Làm thế nào tôi có thể vượt qua nó và thêm SomeObject
đến OldFashined
?
Funnily, IDEA nêu bật '[a]' là lỗi, nhưng trình biên dịch Scala không khiếu nại, vì vậy nó hoạt động. Upvotes cho cả hai câu trả lời của bạn và agilesteel của. Cảm ơn! – ffriend
Tôi đã bắt đầu tự hỏi, tại sao một trong những câu trả lời cũ của tôi đã nhận được một vài upvotes đột ngột;) Cảm ơn ngay tại bạn! – agilesteel