, как уже сказано в заголовке, мне нужно преобразовать int [] в ByteBuffer в Java. Есть ли рекомендуемый способ сделать это?
Я хочу передать ByteBuffer через JNI в C ++. На что мне обращать внимание применительно к каким-либо конкретным преобразованиям порядка байтов в этом случае?
Редактировать: Извините, я по ошибке написал ByteArray, но имел в виду тип ByteBuffer.
Редактировать: Пример кода:
Я убрал лишние части. Я вызываю Java-функцию через JNI из c ++, чтобы загрузить ресурс и передать его обратно в c ++ в качестве байтового буфера. Работает с различными другими ресурсами. Теперь у меня есть int [] и я хотел бы знать, есть ли элегантный способ преобразовать его в байтовый буфер или мне нужно пойти старомодным способом и заполнить его циклом for.
ByteBuffer resource= null;
resource = ByteBuffer.allocateDirect((x*y+2)*4).order(ByteOrder.nativeOrder());
.
.
ByteBuffer GetResourcePNG(String text)
{
.
.
int [] pix;
map.getPixels(pix,0,x,0,0,x,y);
return resource;
}