更改list java的值

时间:2016-04-20 19:58:40

标签: java arraylist

我有一个物体(探测器(x,y,r,位置))当我创建一个探测器列表我想改变我使用的位置值:

    int sizel =arSonde.size();
    for(int i=0;i<sizel;i++){
       double x1=arSonde.get(i).x;
       double y1=arSonde.get(i).y;
       double rayn=arSonde.get(i).rayon;
       double x2=arrayAction.get(0).x;
       double y2=arrayAction.get(0).y;
       Random random=new Random();

       double D =rand.nextDouble();
       double rayA=arrayAct.get(0).rayon;
       if(D<rayA){
        arSonde.set(pos,5);
       }

我用过:

list.set(pos,element);

1 个答案:

答案 0 :(得分:1)

假设您正在尝试设置Sonde对象的位置属性,并且您的字段似乎是公开的......

arSonde.get(i).position = 5;

您的通话arSonde.set(pos, 5)无效,因为

  • pos未定义,或者至少未在您共享的代码中定义
  • set()expected(index,element) - index是数组中的整数索引,而不是字段名称

如果Sonde是不可变的,或者你需要一个不同的实例,你总是可以创建一个新实例并使用set(index,object)调用......

arSonde.set(i, new Sonde(x1, y1, rayn, 5));