随笔 - 434,  文章 - 0,  评论 - 463,  阅读 - 46万

哈喽,我是兔哥呀,今天就让我们继续这个JavaSE成神之路!

这一节啊,咱们要学习的内容是Java的可变参数。

1.什么是可变参数

首先来看下概念。

Java的可变参数指的是在方法中设置不定数量的参数。可变参数使得代码更加简洁,可以更好地处理参数的变化。

java允许将同一个类中多个同名,同功能但参数个数不同的方法封装成一个方法。就可以通过可变参数实现。

传入的多个参数会被以数组的形式传入,也可以直接传入数组。

可变参数可以和普通参数一同传入,但是要确定可变参数放在最后。

比如:

public static boolean test(Object param1, Object... params)

特点

只能出现在参数列表的最后;

... 位于变量类型和变量名之间,前后有无空格都可以;

调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。

2.举一个栗子

可变参数使用一个省略号(...)来表示,它可以接受任意数量的参数,参数类型必须相同。 例如:

public static int sum(int... nums) {
    int sum = 0;
    for (int num: nums) {
        sum += num;
    }
    return sum;
}

上面的例子中,sum()方法接受任意数量的int类型参数,然后将它们相加,最后返回总和。 可以使用以下方式调用sum()方法:

sum(123);
sum(12345);
sum(123456789);

可变参数可以用于实现可变长度的参数列表,可以接受任意数量的参数,而不必指定参数的个数。

怎么样,神奇吧。

3. 需要注意的点

  1. Java可变参数只能放在参数列表的最后一位,不能放在其他参数前面。

  2. Java可变参数只能有一个,不能有多个。

4. 思考题

上面我们对可变参数的定义为:在方法中设置不定数量的参数,传入的多个参数会被以数组的形式传入,也可以直接传入数组。

假如有一个方法长这样:

public static boolean test(Object... params)

当我调用的时候,传入的值就是null,那么会被解析成数组吗?


答案:

可变参数的核心是将参数封装为数组,但是传入null时并不是只含有一个null元素的数组,而是null。

可变参数方便调用者传入不固定数量的参数,且不需要在前面非常不优雅的构造数组对象。

 

posted on   剽悍一小兔  阅读(37)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-12-14 从植物大战僵尸谈谈CSS定位布局
2016-12-14 小兔JS教程(三)-- 彻底攻略JS回调函数

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示