Scala'da yeniyim ve şu anda hem Java hem de Scala modüllerini içeren bir projede çalışıyorum. Şimdi, bir bayt [] tipi parametresi kullanarak Java'dan bir Scala yöntemini çağırmak istiyorum.Java bayt dizisini Scala bayt dizisine nasıl dönüştürebilirim?
Scala yöntemi imzası vardır: def foo(data: Array[Byte])
Java çağrı şöyle
: foo(x)
x türü byte[]
sahiptir.
: IDE olası değil bana söyler:
The method foo(Array) in the type Bar is not applicable for the arguments (byte[])
o Scala yöntemini değiştirmek tercih edilmez, ek bir kısıtlama olarak. Java tarafında Byte[]
kullanmayı denedim, ancak bu sorunu çözmedi. Bazı dönüşümler olmalı?
Hangi IDE'yi kullanıyorsunuz? Intellij'in sorunu yok. – sourcedelica
2.8 veya üstü kullanıyor musunuz? 'Array [Byte] '_is_' byte [] '2,8 olarak, yani IDE'nizden şikayetçi olursanız IDE'niz yanlıştır. –
Eclipse 2.0.0-beta4 için yüklü Scala IDE ile Eclipse Helios 3.6.2 kullanıyorum. Proje, hem Scala hem de Java modülünün Malaya bağımlılığı olarak scala-library-2.9.0'ı içerdiği Maven modüllerinde düzenlenmiştir. Scala IDE'nin bazen garip şeyler yaptığını fark ettim - paketin kaşifinde hayali uyarılar ve hatalar göstermek gibi, fakat genellikle temizlik ve projenin yeniden inşası yardımcı oluyor (bu durumda zaten denedim). – mtsz