내 FloatBuffer
의 내용을 Float
의 배열로 초기화했습니다. 그리고 나서 내가 넣은 Floats
을 수정하면 FloatBuffer
의 값을 수정하지만 이상한 결과가 나올 것으로 예상됩니다.FloatBuffer의 내용을 참조로 수정할 수 있습니까?
내가 잘못하고 있니? 그렇게 할 수 있습니까?
편집 : 내 실수로, 나는 Float이 불변이므로 정상적인 동작임을 이해했습니다. 그래서 내 질문에있을 것입니다, 그래서 쉽게 FloatBuffer 내용을 참조로 수정할 수 있도록 FloatBuffer 변경할 float 래퍼 함께 채우기 위해 무엇입니까? 아니면 OpenGL 데이터 전송을위한 FloatBuffer에 대한 더 멋진 대안이 있습니까?
이 내가 원하는 것이 아니다. 한 번 값을 넣고 바깥에서 넣은 값을 변경하고 FloatBuffer에서 값을 변경하려고합니다. 하지만 FloatBuffers는 'float'값만 유지하고 원시 타입을 사용할 수는 없으므로 참조로 값을 변경할 수 없습니다. – user2591935
FloatBuffers는 네이티브 메모리에 할당됩니다. 저장된 데이터. 할당 된 메모리는 배열로 저장되므로 참조가됩니다. 자바 객체가 네이티브 메모리에 직접 액세스하기를 원한다면 나는 그것이 가능하다고 생각하지 않는다. – satm12