0

スターンジ Java キャスト エラーが発生しました。

オブジェクトを byte[] にキャストすると、

byte [] a = new byte[lenght];
a = (byte[])obj;//obj is actually a byte array with the same number of elements

次のエラーが発生します

[Ljava.lang.Byte; incompatible with [B

これは何が原因ですか?あなたの洞察を前もって感謝します。

4

1 に答える 1

4

Byte[]aを aにキャストしようとしていbyte[]ます。Javaではそれができません。

次の 2 つの選択肢があります。

  • にある を提供しているものを変更Byte[]objて、代わりに を作成しbyte[]ます。

  • を に変換Byte[]byte[]ます。例えば:

    Byte[] tmp (Byte[]) obj;
    byte[] a = new byte[obj.length];
    for (int i = 0; i < a.length; i++) {
        a[i] = tmp[i];
    }
    
于 2013-08-28T02:36:58.677 に答える