1 可变参数【应用】
可变参数介绍
可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
可变参数定义格式
修饰符 返回值类型 方法名 ( 数据类型 … 变量名 ) { }
可变参数的注意事项
这里的变量其实是一个数组
如果一个方法有多个参数,包含可变参数,可变参数要放在最后
可变参数的基本使用
public class ArgsDemo01 { public static void main(String[] args) { System.out.println(sum(10, 20)); System.out.println(sum(10, 20, 30)); System.out.println(sum(10, 20, 30, 40)); System.out.println(sum(10,20,30,40,50)); System.out.println(sum(10,20,30,40,50,60)); System.out.println(sum(10,20,30,40,50,60,70)); System.out.println(sum(10,20,30,40,50,60,70,80,90,100)); } // public static int sum(int b,int... a) { // return 0; // } public static int sum(int... a) { int sum = 0; for(int i : a) { sum += i; } return sum; } }
2 可变参数的使用【应用】
Arrays 工具类中有一个静态方法:
public static List asList(T... a) :返回由指定数组支持的固定大小的列表
返回的集合不能做增删操作,可以做修改操作
List 接口中有一个静态方法:
public static List of(E... elements) :返回包含任意数量元素的不可变列表
返回的集合不能做增删改操作
Set 接口中有一个静态方法:
public static Set of(E... elements) :返回一个包含任意数量元素的不可变集合
在给元素的时候,不能给重复的元素
返回的集合不能做增删操作,没有修改的方法
示例代码
public class ArgsDemo02 { public static void main(String[] args) { //返回由指定数组支持的固定大小的列表 public static <T> List<T> asList(T... a): List<String> list = Arrays.asList("hello", "world", "java"); list.add("javaee"); //UnsupportedOperationException list.remove("world"); //UnsupportedOperationException list.set(1,"javaee"); System.out.println(list); //返回包含任意数量元素的不可变列表 public static <E> List<E> of(E... elements): List<String> list = List.of("hello", "world", "java", "world"); list.add("javaee");//UnsupportedOperationException list.remove("java");//UnsupportedOperationException list.set(1,"javaee");//UnsupportedOperationException System.out.println(list); //返回一个包含任意数量元素的不可变集合 public static <E> Set<E> of(E... elements) : Set<String> set = Set.of("hello", "world", "java","world"); IllegalArgumentException Set<String> set = Set.of("hello", "world", "java"); set.add("javaee");//UnsupportedOperationException set.remove("world");//UnsupportedOperationException System.out.println(set); } }