как уже сказано, мне нужно преобразовать int [] в ByteBuffer в Java. Есть ли рекомендуемый способ сделать это?Как преобразовать int [] в ByteBuffer в Java?
Я хочу передать ByteBuffer через JNI на C++. Что я должен искать в отношении каких-либо конкретных преобразований в этом случае?
Редактировать: Извините, я ошибочно написал ByteArray, но имел в виду тип ByteBuffer.
Edit: Пример кода:
Я раздели ненужные части. Я вызываю функцию Java над JNI из C++, чтобы загрузить ресурс и передать его обратно в C++ как bytebuffer. Он работает с различными другими ресурсами. Теперь у меня есть «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;
}
Является ли это правильно? Я имею в виду, что ByteBuffer является абстрактным классом. Какой именно тип вам нужен? пожалуйста, укажите пример кода. –