Auf Thema antworten

Ich hätte jetzt vermutet, dass man so zwei Arrays (bytes[], shorts[]) erhält, die beide auf den gleichen Speicherbereich zeigen. Leider erhalte ich ein "java.lang.UnsupportedOperationException" in der Zeile 17:


[Java]

import java.nio.ByteBuffer;

import java.nio.ShortBuffer;


public class DirectBuffer {


    private static final int BUFFER_SIZE = 1024;


    static byte[] bytes;

    static short[] shorts;


    static ByteBuffer bytebuffer;

    static ShortBuffer shortBuffer;


    public static void main(String[] args) {


        bytebuffer = ByteBuffer.allocateDirect(BUFFER_SIZE);

        bytes = bytebuffer.array();

        shorts = bytebuffer.asShortBuffer().array();


        // Test


        bytes[0] = 1;

        bytes[1] = 1;


        System.out.println(shorts[0]);

    }

}

[/Java]



Oben