次のようなクラスがあります。
final ByteBuffer data;
1st_constructor(arg1, arg2, arg3){
data = ByteBuffer.allocate(8);
// Use "put" method to add values to the ByteBuffer
//.... eg: 2 ints
//....
}
1st_constructor(arg1, arg2){
data = ByteBuffer.allocate(12);
// Use "put" method to add values to the ByteBuffer
//.... eg: 3 ints
//....
}
「test」と呼ばれるこのクラスからオブジェクトを作成しました。
次に、byte[] を作成しました。
byte[] buf = new byte[test.data.limit()];
ただし、オブジェクト内の ByteBuffer を byte[] にコピーしようとすると、エラーが発生します。
test.data.get(buf,0,buf.length);
エラーは次のとおりです。
Exception in thread "main" java.nio.BufferUnderflowException
at java.nio.HeapByteBuffer.get(Unknown Source)
at mtp_sender.main(mtp_sender.java:41)
ご協力ありがとうございました。