我目前正在学习初级 Java 并且ArrayList在构造函数中用作参数时遇到了问题。
当我必须ArrayList在类构造函数中初始化 an时,我通常会写这样的东西(为了这个例子,假设我想创建一个ArrayList整数作为类字段)。
public class Example {
private ArrayList<Integer> myList;
public Example(ArrayList<Integer> myInts){
this.myList = myInts;
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我看到人们在教程或教科书中做同样的事情时,他们会编写以下代码:
public class Example {
private ArrayList<Integer> myList;
public Example(int myInts){
this.myList = new ArrayList<>();
addIntegers(myInts);
}
public void addIntegers(int myInts){
this.myList.add(myInts);
}
}
Run Code Online (Sandbox Code Playgroud)
这两个例子有区别吗?我认为我的方法是错误的,但实际上运行这两个版本给了我相同的结果(就我有限的理解而言),所以我很难理解是什么让这两个变体与众不同。