Soy nuevo en Scala y trabajo actualmente en un proyecto que involucra tanto módulos de Java como de Scala. Ahora me gustaría llamar a un método Scala de Java utilizando un parámetro de tipo byte [].¿Cómo convierto una matriz de bytes Java en una matriz de bytes Scala?
El método Scala tiene la firma: def foo(data: Array[Byte])
La llamada de Java es el siguiente: foo(x)
, donde x tiene el tipo byte[]
.
El IDE me dice que no es posible:
The method foo(Array) in the type Bar is not applicable for the arguments (byte[])
Como una restricción adicional no se prefiere cambiar el método de Scala. Del lado de Java intenté usar Byte[]
, pero esto no resolvió el problema. Debe existir alguna conversión?
¿Qué IDE estás usando? Intellij no tiene ningún problema con eso. – sourcedelica
¿Estás usando 2.8 o posterior? 'Array [Byte]' _is_ 'byte []' a partir de 2.8, por lo que si su IDE se queja de que su IDE está equivocado. –
Estoy usando Eclipse Helios 3.6.2 con Scala IDE instalado para Eclipse 2.0.0-beta4. El proyecto está organizado en módulos Maven, donde tanto Scala como el módulo Java incluyen scala-library-2.9.0 como dependencia Maven. Me he dado cuenta de que Scala IDE está haciendo cosas raras a veces, como mostrar advertencias imaginarias y errores en el explorador de paquetes, pero generalmente la limpieza y la reconstrucción del proyecto son útiles (lo cual ya probé en este caso). – mtsz