繁体   English   中英

我可以在 object 中实现 arrayList

[英]Can i implement an arrayList within an object

I've been trying to make an object in Java that contains an ArrayList , but like I expected, when I implement a second object, it does not create a new ArrayList , rather adds existing date to the ArrayList generated when building the first object of所说的类型。

这是构造函数:

public class OneTest {

   private ArrayList<String> list;

   public OneTest(ArrayList<String> list) {
      this.list = list;
   }
}

主要方法构建 object 并添加数据。

public static void main(String[] args) {
        ArrayList<String> array = new ArrayList<>();
        array.add("Ben");
        array.add("Bob");

        OneTest test = new OneTest(array);

        ArrayList<String> array1 = new ArrayList<>();
        array.add("111");
        array.add("222");

        OneTest test1 = new OneTest(array1);

        ArrayList<String> testRecovery = test.getList();
        ArrayList<String> testRecovery1 = test1.getList();

        System.out.println(testRecovery.toString());
        System.out.println(testRecovery1.toString());
    }

还有 output。

[]
[Ben, Bob, 111, 222]

我正在寻找一种方法,当我调用 toString() 方法时,它在每个 object 构造的单独 ArrayList 中都有数字。

所需的 Output。

[Ben, Bob]
[111, 222]

在行中

ArrayList<String> array1 = new ArrayList<>();
array.add("111");
array.add("222");

您将111222添加到array而不是array1意味着array1将为空。

如果您将其更新为

ArrayList<String> array1 = new ArrayList<>();
array1.add("111");
array1.add("222");

当您稍后引用这些列表时,它们应该是您所期望的。

你在下面的代码中犯了这样一个愚蠢的错误:

array.add("111");
array.add("222");

即使在使用array1创建第二个arraylist之后,您也将值添加到之前的arraylist only array

您需要将其更改为:

array1.add("111");
array1.add("222");

发帖犯了一个非常愚蠢的错误,将所有添加到数组,没有添加到array1。

暂无
暂无

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

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