Tôi đã viết một API trong Scala. Có một vài điểm vào mà tôi đang mong đợi một List [SomeTrait] làm đầu vào và trả về một List [OtherTrait].Gọi mã Scala từ Java với java.util.List khi Danh sách của Scala được mong đợi
Tôi bao gồm Jar đó trong một dự án Java để sử dụng và gặp phải sự cố khi cố gắng chuyển java.util.List sang phương thức mong đợi đối tượng Danh sách của Scala. Tôi nhận ra rằng chúng không giống nhau và Java không biết cách thực hiện chuyển đổi. Vì vậy, làm thế nào để bạn thực hiện công việc này mà không mong đợi người gọi Java để vượt qua trong một danh sách Scala?
Đó chính là câu trả lời tôi sắp gửi –
Bạn nên mương 'JavaConversions' và chuyển đổi kết quả trở lại một danh sách Java sử dụng '.asJava' –
+1 theo đề nghị của Luigi, không sử dụng JavaConversions, sử dụng JavaConverters và các phương thức rõ ràng .asJava/.asScala - các chuyển đổi ngầm có thể làm những điều kỳ lạ. Cũng tránh quá tải, tạo một shim/wrapper để được gọi từ Java để thay thế. –