Wie konvertiere ich eine Java-byte-array in eine Scala byte-array?

Ich bin neu in Scala und arbeiten derzeit an einem Projekt, die Einbeziehung der Java-und Scala-Module. Jetzt würde ich mag, um den Anruf eine Scala-Methode aus Java mit einem parameter vom Typ byte[].

Den Scala-Methode hat die Signatur: def foo(data: Array[Byte])

Den Java-Aufruf sieht wie folgt aus: foo(x), wobei x vom Typ byte[].

Die IDE sagt mir nicht möglich:

The method foo(Array) in the type Bar is not applicable for the arguments (byte[])

Als weitere Einschränkung ist es nicht bevorzugt, zu ändern, die Scala-Methode. Auf der Java-Seite habe ich versucht, mit Byte[], aber das hat das problem nicht lösen. Es muss existieren einige Umstellung?

  • Welche IDE benutzt du? Intellij hat kein problem mit ihm.
  • Sind Sie mit 2.8 oder höher? Array[Byte] ist byte[] als der 2.8, so dass, wenn Sie für die IDE meckert die IDE ist falsch.
  • Ich bin mit Eclipse 3.6.2 Helios mit installiert Scala IDE for Eclipse 2.0.0-beta4. Das Projekt gliedert sich in Maven-Module, in denen sowohl Scala-und Java-Moduls: scala-library-2.9.0 als Maven-Abhängigkeit. Ich habe bemerkt, dass die Scala IDE tut seltsame Dinge, die manchmal - wie zeigt imaginären Warnungen und Fehler im Paket-explorer, aber in der Regel die Reinigung und den Wiederaufbau der Projekt hilft (welche ich versucht habe in diesem Fall schon).
  • Hmm, das ist interessant: Aufruf foo(x) von Java mit x vom Typ (raw -) scala.Array können meine IDE zurück: The method foo(byte[]) in the type Bar is not applicable for the arguments (Array). Das ist, was ich nennen würde, widersprüchlichen Verhalten. Ich sollte versuchen, den code zu kompilieren woanders...
InformationsquelleAutor mtsz | 2011-06-04
Schreibe einen Kommentar