使变量等于类中的Arraylist值(Processing)



嗨,这是我第一次提问,希望我做得对:)

在我的代码中,我试图在一个只包含浮点的类中创建一个Arraylist,所以我做了这个:(为了更容易阅读,去掉了一些信息)

class object {
private ArrayList yc=new ArrayList<Float>();
private ArrayList xc=new ArrayList<Float>();

object(float xer,float yer,float rer){
xc.add(10.0);
x=xer;
y=yer;
r=rer;
}

void update(){
print(xc.get(0)) 
x=xc.get(0);
}

}

除了x=xc.get(0)之外的所有其他东西都在类外工作,这个赋值有效,但在类内不起作用

希望这有意义,谢谢。

当您初始化变量xc时,似乎指定了ArrayListFloat的类型。但是,在声明xc时,您没有指定类型。

当您尝试用xc.get(0)分配变量x时,基本上将任何对象分配给声明为Float的变量x

为了解决这个问题,您可以声明变量xc,指定ArrayList的类型:private ArrayList<Float> xc = new ArrayList<Float>();

此外,如果适合您的程序,processing还提供了helper类FloatList

这应该可以解决您的问题,具体取决于代码的其余部分。

最新更新