java初学者在这里!构造函数返回意外的null
我想要一个对象模型,它是随机坐标列表,并且根据(*),当主模型(200)运行时,ArrayList不是空的。但是,当我运行主我得到一个出界失误,当我与周围的打印测试(**)我得到的错误:
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
与构造模型的问题?
public class Model extends ArrayList<Particle>{
private ArrayList<Particle> particleList;
public Model(int N) {
ArrayList<Particle> list1 = new ArrayList<Particle>();
Particle newParticle = new Particle();
for(int i=0;i<N;++i){
list1.add(newParticle);
newParticle = new Particle();
//String s= String.valueOf(newParticle.x);
//System.out.println(s);
}
this.particleList = list1;
Particle p1 = particleList.get(5);
double d = p1.x;
String s = String.valueOf(d);
System.out.println(s); (*)
}
public static void main(String[] args){
Model x1 = new Model(200);
Particle p1 = x1.get(0); (**)
double d = p1.x;
String s = String.valueOf(d);
System.out.println(s);
}
我相信你不是调用你的''paricleList''变量与''x1.get(0)''但超类的元素(你扩展ArrayList)。如果你想从''particleList''获得元素,你应该定义一个getter,然后执行如下操作:''x1.getParticleList()。get(0)''。 – Plebejusz
你真的想扩展一个ArrayList吗? –
你能扩展@BalajiKrishnan吗?我这样做是因为我想使用.get(i),但也许我应该使用Plebejusz提示。为什么我不想扩展ArrayList? –