Java可变参数

简介: Java可变参数

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);
    }
}


目录
相关文章
|
10天前
|
IDE Java 编译器
五分钟学Java:可变参数究竟是怎么一回事?
五分钟学Java:可变参数究竟是怎么一回事?
|
2月前
|
Java 编译器
滚雪球学Java(36):玩转Java方法重载和可变参数,让你的代码更灵活
【5月更文挑战第11天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
23 0
滚雪球学Java(36):玩转Java方法重载和可变参数,让你的代码更灵活
|
2月前
|
存储 Java
Java 可变参数:灵活的函数调用艺术
【4月更文挑战第21天】
29 1
|
8月前
|
Java API
JAVA可变参数 ( IDEA演示 )
在 Java 5 中提供了变长参数,允许在调用方法时传入不定长度的参数,本质上还是基于数组的实现在定义方法时,在最后一个形参后加上三点 …,就表示该形参可以接受多个参数值,多个参数值被当成数组传入。可变参数格式:可变参数作用: 输出结果:一个形参列表中可变参数只能有一个 可变参数必须放在形参列表的最后面ArrayList工具类有一个静态方法: public static List asList(T…a){},对返回集合不能进行增删,可以修改 List接口有一个静态方法: public stat
35 0
|
2月前
|
存储 Java
Java中的可变参数
Java中的可变参数
17 0
|
11月前
|
Java
Java 可变参数(详细使用)
Java 可变参数(详细使用)
56 0
|
2月前
|
存储 Java
从零开始学习 Java:简单易懂的入门指南之可变参数及Collections类(二十五)
从零开始学习 Java:简单易懂的入门指南之可变参数及Collections类(二十五)
|
2月前
|
存储 Java
Java之可变参数和Collections的详细解析
1. 可变参数 在JDK1.5之后,如果我们定义一个方法需要接受多个参数,并且多个参数类型一致,我们可以对其简化. 格式: 修饰符 返回值类型 方法名(参数类型... 形参名){ } 底层:
35 0
|
12月前
|
Java C语言
【Java】可变参数
【Java】可变参数
61 0
|
12月前
|
Java
【JavaSE】Java基础语法(三十一):可变参数
1. 可变参数 可变参数介绍 可变参数又称参数个数可变,用作方法的形参出现,那么方法参数个数就是可变的了 方法的参数类型已经确定,个数不确定,我们可以使用可变参数