可变参数 其实是接收一个数组
如果有多个参数,可变参数一定是最后一个
public static void print(int ... arr){ // 可变参数 其实是一个数组 for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } }
Arrays 工具类
asList() 接收的是可变参数, 将集合转换成数组
ArrayList list = Arrays.asList(arr)
数组转成集合,可以使用集合的思想去操作数组 ,数组不能添加,删除,集合可以
#### int[] arr = {11,22,33,44,55};
··List<Integer> list = Arrays.asList(arr);
··System.out.println(list); // 将arr 当做一个引用数据类型传入了
##基本数据类型的数组 在这里 会将一整个数组当做一个对象转成集合
解决方法 Integer[] arr = {11,22,33,44,55};
Collection中toArray(T[] a)泛型版的集合转数组
import java.util.List; import java.util.ArrayList; import java.util.Arrays; public class demon4_asList { public static void main(String[] args) { //demo1(); //demo2(); //集合转数组 加泛型的 ArrayList<String> l1 = new ArrayList<>(); l1.add("a"); l1.add("b"); l1.add("v"); l1.add("d"); Object[] arr = l1.toArray(); for (Object object : arr) { String s1 = (String)object; System.out.println(s1); } } public static void demo2() { Integer[] arr = {11,22,33,44,55}; List<Integer> list = Arrays.asList(arr); System.out.println(list); // 将arr 当做一个引用数据类型传入了 } public static void demo1() { String[] arr = {"a","b","c"}; List<String> list = Arrays.asList(arr); //list.add("d"); System.out.println(list); } }