Java可变参数

1 什么是Java可变参数

Java可变参数是指允许方法接受零个或多个参数。在Java可变参数出现以前,我们要么使用重载方法,要么采用数组作为方法参数。但这两种做法会导致代码维护困难,因此被认为不是很好的做法。而Java可变参数就解决这个问题,在设计方法时,我们无需知道方法需要传递几个参数,这样方法就变得非常灵活啦!

2 Java可变参数的好处

我们不必提供重载的方法,因此代码更少。

3 Java可变参数的语法

可变参数使用省略号(...),即数据类型后的三个点。语法如下:

返回值类型 方法名(数据类型... 变量名){}  

4 Java可变参数的例子1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * JJava可变参数的例子
 */
class Demo{

    static void display(String... values){
        System.out.println("display方法被执行");
    }

    public static void main(String args[]){

        display();//0个参数
        display("my","name","is","yiidian");//4个参数
    }
}

输出结果为:

display方法被执行
display方法被执行

5 Java可变参数的例子2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java可变参数的例子
 */
class Demo{

    static void display(String... values){
        System.out.println("display方法被执行 ");
        for(String s:values){
            System.out.println(s);
        }
    }

    public static void main(String args[]){

        display();//0个参数
        display("hello");//1个参数
        display("my","name","is","yiidian");//4个参数
    }
}

输出结果为:

display方法被执行 
display方法被执行 
hello
display方法被执行 
my
name
is
yiidian

6 Java可变参数作为方法最后一个参数

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
/**
 * Java可变参数作为方法最后一个参数
 */
class Demo{

    static void display(int num, String... values){
        System.out.println("number is "+num);
        for(String s:values){
            System.out.println(s);
        }
    }

    public static void main(String args[]){

        display(500,"hello");//0个参数
        display(1000,"my","name","is","varargs");//4个参数
    }
}

输出结果为:

number is 500
hello
number is 1000
my
name
is
varargs

7 Java可变参数注意事项

使用Java可变参数时,必须遵循一些规则,否则程序代码将无法编译。如下:

  • 方法中只能有一个变量参数。
  • Java可变参数必须是最后一个参数。

8 Java可变参数错误用法

void method(String... a, int... b){}//编译错误
  
void method(int... a, String b){}//编译错误

 

热门文章

优秀文章