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 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 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 让容器管理更轻松!