网站pc客户端制作韩国最新新闻
ArrayList中存放引用类型时,存放的是一个引用,因此在放入ArrayList之后再进行改动会影响到ArrayList中的值,看下面一个例子:
import java.util.ArrayList;public class Student implements Cloneable{private int age;private String name;public static void main(String[] args) {ArrayList<Student> students = new ArrayList<Student>();Student st = new Student();st.age = 10;st.name = "marco";students.add(st);st.age = 20; //修改age值System.out.println(students.get(0).age); //输出为20}
}
同样,如果ArrayList中存放的也是ArrayList类型,如ArrayList<ArrayList<Integer>>
,对里面ArrayList的修改同样会影响到外层的ArrayList,如果想不受到影响可以在放入ArrayList时进行clone操作,对于ArrayList来说可以使用new ArrayList<ArrayList<Integer>>(list)
来进行复制。