为了账号安全,请及时绑定邮箱和手机立即绑定

Java 将数组转换为 IntBuffer

Java 将数组转换为 IntBuffer

犯罪嫌疑人X 2024-01-17 21:00:20
google 没有找到答案,所以才来问一下static float vertices_textures[] = {        //vertices            //positions        -1.0f, -1.0f, 0.0f, 0.0f, 1.0f,        1.0f, -1.0f, 0.0f, 1.0f, 1.0f,        -1.0f, 1.0f, 0.0f, 0.0f, 0.0f,        1.0f, 1.0f, 0.0f, 1.0f, 0.0f    };Buffer vertices_textures_buffer = IntBuffer.allocate(vertices_textures.length);我是否必须迭代数组vertices_textures并设置 的每个元素vertices_textures_buffer?
查看完整描述

2 回答

?
米脂

TA贡献1836条经验 获得超3个赞

我是否必须迭代 vertices_textures 数组并设置 vertices_textures_buffer 的每个元素?

是的,因为你要floats放入IntBuffer.

如果你有int[],你可以使用IntBuffer.wrap(int[]);


查看完整回答
反对 回复 2024-01-17
?
温温酱

TA贡献1752条经验 获得超4个赞

这是一种使用流填充缓冲区的方法。


      Buffer vertices_textures_buffer = IntBuffer.wrap(

            IntStream.range(0, vertices_textures.length)

            .map(n -> (int) vertices_textures[n]).toArray());


并验证


      for (int i : (int[]) vertices_textures_buffer.array()) {

         System.out.print(i + " ");

      }


查看完整回答
反对 回复 2024-01-17
  • 2 回答
  • 0 关注
  • 113 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信