0
点赞
收藏
分享

微信扫一扫

【JavaSE成神之路】可变参数


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

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

【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(1, 2, 3);
sum(1, 2, 3, 4, 5);
sum(1, 2, 3, 4, 5, 6, 7, 8, 9);

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

怎么样,神奇吧。

3. 需要注意的点

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

4. 思考题

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

假如有一个方法长这样:

public static boolean test(Object... params)

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

答案:

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

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

 

举报

相关推荐

0 条评论