He escrito una API en Scala. Hay un par de puntos de entrada donde espero una lista [SomeTrait] como entrada y devolver una lista [OtherTrait].Llamando al código de Scala desde Java con java.util.List cuando se espera la lista de Scala
Incluí ese Jar en un proyecto de Java para su uso y me encontré con un problema al intentar pasar un java.util.List a un método que esperaba el objeto de la Lista de Scala. Me doy cuenta de que no son lo mismo y que Java no sabe cómo hacer la conversión. Entonces, ¿cómo haces que esto funcione sin esperar que el llamador de Java pase en una lista de Scala?
eso es exactamente la respuesta que estaba a punto de publicar –
Usted debe deshacerse de la 'JavaConversions' y convertir el resultado a una lista de Java usando' .asJava' –
+1 a la sugerencia de Luigi, no use JavaConversions, use JavaConverters y los métodos explícitos .asJava/.asScala: las conversiones implícitas pueden hacer cosas extrañas. También evite la sobrecarga, cree un shim/wrapper para ser llamado desde Java. –