JavaSE-15.4【可变参数】

复制代码
 1 package day6.lesson4;
 2 
 3 /*
 4 4 可变参数
 5 
 6 4.1 可变参数介绍
 7 
 8     可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了
 9     格式:修饰符 返回值类型 方法名(数据类型… 变量名) { }
10     注意:这里的变量其实是一个数组;如果一个方法有多个参数,包含可变参数,可变参数要放在最后
11 
12  */
13 public class ArgsDemo1 {
14     public static void main(String[] args) {
15         System.out.println(sum(10, 20));
16         System.out.println(sum(10, 20, 30));
17         System.out.println(sum(10, 20, 30, 40));
18 
19         System.out.println(sum(10, 20, 30, 40, 50));
20         System.out.println(sum(10, 20, 30, 40, 50, 60));
21         System.out.println(sum(10, 20, 30, 40, 50, 60, 70));
22     }
23 
24     /*public static int sum(int a, int b){
25         return a+b;
26     }
27 
28     public static int sum(int a, int b, int c){
29         return a+b+c;
30     }
31 
32     public static int sum(int a, int b, int c, int d){
33         return a+b+c+d;
34     }*/
35 
36     //可变参数
37     public static int sum(int... a){
38 //        System.out.println(a); //输出地址-->a实质是数组,原参数列表被自动封装到数组了
39         int sum = 0;
40         for (int i: a){
41             sum+=i;
42         }
43         return sum;
44     }
45 
46     /*public static int sum(int b, int... a){
47         return 0;
48     }*/
49 
50 }
复制代码
复制代码
 1 package day6.lesson4;
 2 
 3 import java.util.Arrays;
 4 import java.util.List;
 5 import java.util.Set;
 6 
 7 /*
 8 4.2 可变参数使用
 9 
10     Arrays工具类中有一个静态方法:
11         public static List asList(T... a):返回由指定数组支持的固定大小的列表
12         返回的集合不能做增删操作,可以做修改操作
13     List接口中有一个静态方法:
14         public static List of(E... elements):返回包含任意数量元素的不可变列表
15         返回的集合不能做增删改操作
16     Set接口中有一个静态方法:
17         public static Set of(E... elements) :返回一个包含任意数量元素的不可变集合
18         在给元素的时候,不能给重复的元素
19         返回的集合不能做增删操作,没有修改的方法
20  */
21 public class ArgsDemo2 {
22     public static void main(String[] args) {
23 
24         List<String> list = Arrays.asList("hello", "world", "java");
25         System.out.println(list); //[hello, world, java]
26 
27 //        list.add("javaee"); //java.lang.UnsupportedOperationException  运行异常
28 //        list.remove("world"); //java.lang.UnsupportedOperationException
29         list.set(1, "javaee"); //ok
30         System.out.println(list); //[hello, javaee, java]
31 
32 /*//        List<String> list1 = List.of("hello", "world", "java"); //of报红,JDK8不支持,JDK9开始支持
33         list1.add("javaee"); //java.lang.UnsupportedOperationException
34         list1.remove("world"); //java.lang.UnsupportedOperationException
35         list1.set(1, "javaee"); //java.lang.UnsupportedOperationException
36         System.out.println(list1);*/
37 
38         /*Set<String> set = Set.of("hello", "world", "java"); //of报红,JDK8不支持,JDK9开始支持
39 //        Set<String> set = Set.of("hello", "world", "java", "java"); //JDK9报运行异常,因为set不允许有重复元素
40         set.add("javaee"); //java.lang.UnsupportedOperationException
41         set.remove("world"); //java.lang.UnsupportedOperationException
42         //注意set集合没有set()
43         System.out.println(set);*/
44 
45     }
46 }
复制代码

 

posted @   yub4by  阅读(55)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示