gpt4 book ai didi

java - 实例化 FloatBuffer[] 时出现异常

转载 作者:行者123 更新时间:2023-11-30 04:58:19 26 4
gpt4 key购买 nike

我正在尝试创建一个包含 144 个 FloatBuffer 的数组,这样我就可以使用整数来轻松访问每个 FloatBuffer 来选择哪个。不,我的意思不是 FloatBuffer 144 长。我正在研究使用一个类来包含所有 FloatBuffers,但这需要一些时间。有什么想法吗?

我明白了

java.lang.ArrayIndexOutOfBoundsException: 0

在这一行上,无论我使用什么方法尝试将新的 FloatBuffer 实例化到数组中:

    for(int i=0; i<144;i++){
vbuffers[i] = BufferUtils.createFloatBuffer(buffervolume*7);
}

我也尝试过这个并得到同样的错误:

        vbuffers[i]=FloatBuffer.allocate(buffervolume*7);

以下是完整的相关代码:

public class myclass {

public FloatBuffer[] vbuffers;

public myclass(){
vbuffers=new FloatBuffer[chunklimit*chunklimit*4];
for(int i=0; i<144;i++){
vbuffers[i] = BufferUtils.createFloatBuffer(chunkvolume*7);
}
}
}

我想补充一点,我最终使用了一个大型 FloatBuffer 和 glbuffersubdata 来管理我的数据,并获得了非常好的结果。

最佳答案

该异常强烈表明vbuffers是一个零长度数组。检查 chunklimit 是否非零。

一般来说,当你有这样的代码时:

vbuffers = new FloatBuffer[chunklimit*chunklimit*4];
for(int i = 0; i < 144; i++) {
vbuffers[i] = ...

存在 chunklimit*chunklimit*4144 不同的风险,从而导致错误。

for 循环中使用数组的大小通常是一个更好的主意:

vbuffers = new FloatBuffer[chunklimit*chunklimit*4];
for(int i = 0; i < vbuffers.length; i++) {
vbuffers[i] = ...

关于java - 实例化 FloatBuffer[] 时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776427/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com