1.可变参数
1.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; } }
1.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); } }