Napisałem API w Scali. Istnieje kilka punktów wejścia, w których oczekuję listy [SomeTrait] jako danych wejściowych i zwracających listę [OtherTrait].Wywołanie kodu Scala z Java z java.util.List, gdy oczekuje się listy Scali
Włączam ten Jar do projektu Java i próbuję przekazać java.util.List do metody oczekującej obiektu Scala's List. Rozumiem, że nie są one takie same i że Java nie wie, jak przeprowadzić konwersję. Jak to zrobić, nie oczekując, że program wywołujący Java przejdzie na listę Scala?
to dokładnie odpowiedź miałem pisać –
Należy rów 'JavaConversions' i przekonwertować wynik z powrotem do listy Java przy użyciu' .asJava' –
+1 do sugestii Luigiego, nie używaj JavaConversions, używaj JavaConverters i jawnych metod .asJava/.asScala - niejawne konwersje mogą robić dziwne rzeczy. Unikaj także przeciążania, utwórz shim/wrapper do wywołania z Javy. –