我在ArrayList<Vector3f>
中存储了多个类为org.joml.Vector3f
的对象。该类有3个浮点型字段:x
、y
和z
。我想把它们都保存在一个java.nio.DoubleBuffer
中,所以我想这样做:
public void myFunction(ArrayList<Vector3f> vertices) {
// Some code here
DoubleBuffer positionbuffer = DoubleBuffer.wrap(vertices.stream().mapToDouble(i -> {i.x, i.y, i.z}).toArray());
// Some code here
}
但这不是一种合法/可能的方式。
有没有办法使用mapToDouble
并在括号中做一些事情,这样我就可以检索ArrayList
中每个单独Vector3f的每个单独字段并将其存储到一个双精度数组中?
谢谢
发布于 2021-06-24 20:47:06
试试像这样的东西
DoubleBuffer positionbuffer = DoubleBuffer.wrap(
vertices.stream()
.map(i -> new double[]{i.x, i.y, i.z})
.flatMapToDouble(Arrays::stream)
.toArray());
https://stackoverflow.com/questions/68115781
复制相似问题