繁体   English   中英

将一个数组列表的元素复制到另一个数组列表

[英]copying elements of an array-list to the other array-list

我写了这样一个简单的代码:

  • 我已经在类的构造函数中编写了以下代码: List element = new ArrayList();

  • 我有一个名为cost的变量,其类型为int

  • 一种方法将返回三个具有不同对象的列表: listOne, listTwo, listThree

  • 在另一种方法中,我在下面编写了代码,该方法将使用在上述方法中创建的那些列表。对于上面的三个列表,此方法将被调用三次。 每个清单的每个通话。

     // begining of the method: int cost = 0; if(cost==0){ element = listOne; cost = 3; } if(cost<4){ element = listtwo; cost = 6; } // end System.out.println(element.toString()); 

不幸的是,它不是打印listTwo而是打印listThree (如果我们有4个或更多列表,它将打印最后一个)!

if-else条件是否有问题?

谢谢

编辑:这是我主要的代码,但其条件是像上面的代码: auxiliaryList在下面的代码是listOnelist TwolistThree分别。

cost = 0;

public void method {


                System.out.println(element.toString());//number one
                if (cost== 0) {


                element = auxiliaryList;
                cost = 3;

                }
                else if( cost<4){

                        element =auxiliaryList;
                         cost = 6;
                }

            }
            return;

        }

}

同样用//number one声明的行也向我表明,在进入if / else条件之前,元素列表将设置为方法中的当前列表。

if-else条件是否有任何问题。

是的-问题是您没有使用 if / else,而是只使用了两个if语句。

if使用else ,则更改第二个就可以了:

  if (cost == 0) {
      element = listOne;
      cost = 3;
  } else if (cost < 4) {
      element = listtwo;
      cost = 6;
  }

问题是,如果cost为0,它将进入第一个块,将cost设置为3,然后进入第二个块,因为3小于4。没有“ else”阻止这种情况发生-两个if块是完全独立的

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM