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]