JDK新特性之可变个数的形参的方法

Posted T&K

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK新特性之可变个数的形参的方法相关的知识,希望对你有一定的参考价值。

可变个数的形参的方法:
1.格式:对于方法的形参来说:数据类型...形参名
2.可变个数的形参的方法与同名的方法之间可以构成重载
3.可变个数的形参在调用时,个数从0开始,到无穷都可以(在调用这个方法时,sayHello后的括号里输入几个值都可以,可以输入0个也可以无穷个)
4.使用可变多个形参的方法与方法的形参使用数组是一致的甚至是一个方法,使用要不同的名称
5.若方法中存在可变个数的形参,那么一定要声明在方法形参之后(如代码中的sayHello(int i,String... args)中的int是方法形参,如果和String... args调换一下位置,那会和上一个方法产生冲突而报错)
6.在一个方法中,最多声明一个可变个数的形参(如 public void sayHello(String... args)中,有了String的可变类型形参,就不能有其他比如说int的可变类型的形参)

public class TestArgs {
    public static void main(String[] args) {
        TestArgs t = new TestArgs();
        t.sayHello();
        t.sayHello(new String[]{"hello China", "hello Beijing"});
    }

    //以下三个方法构成重载
    public void sayHello() {
        System.out.println("hello world");
    }

    public void sayHello(String str1) {
        System.out.println("hello" + str1);
    }
    //可变个数的形参的方法
    public void sayHello(String... args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
    }
    //在类中一旦定义了重载的可变个数的形参的方法以后,上面的方法可以省略
    public void sayHello(int i,String... args) {
            System.out.println(args[i]);
    }
    public void sayHello1(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]+"$");
        }
    }
}

以上是关于JDK新特性之可变个数的形参的方法的主要内容,如果未能解决你的问题,请参考以下文章

可变参数

JDK5的新特性之可变参数&Arrays.asList()方法

JDK5新特性--可变参数

可变个数的形参的方法

jdk1.8新特性之接口default方法

Java 之 可变参数