猿问

Java 将数组转换为 IntBuffer

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?


犯罪嫌疑人X
浏览 114回答 2
2回答

米脂

我是否必须迭代 vertices_textures 数组并设置 vertices_textures_buffer 的每个元素?是的,因为你要floats放入IntBuffer.如果你有int[],你可以使用IntBuffer.wrap(int[]);。

温温酱

这是一种使用流填充缓冲区的方法。      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 + " ");      }
随时随地看视频慕课网APP

相关分类

Java
我要回答