java参数类型后面加...详解

例子

  void test3(String... s) {
    System.out.println(s instanceof String[]);
    System.out.println(s.getClass().isArray());
  }

这时候方法传入的参数可以是零个或者多个String,也可以是数组;
参数是一个或者多个的时候可以重载,但是数组不能重载;如果是一个或者多个参数的时候,会优先走对应参数的方法,如果没有才会走…方法.

测试:

 @Test
  public void test2(){
    test3();
  }

  void test3(String... s) {
    String s1 = s[0];
    System.out.println(s instanceof String[]);
    System.out.println(s.getClass().isArray());
  }

  void test3() {
    System.out.println(1);
  }

  void test3(String s) {
    System.out.println(2);
  }

  void test3(String s1,String s2) {
    System.out.println(3);
  }

执行返回1

数组方法:

在这里插入图片描述
会报错已经定义了
所以,感觉就可以把… 看做数组,如果不传,就是空数组,…

世界上所有的不公平都是由于当事人能力不足造成的.
原文地址:https://www.cnblogs.com/javayida/p/13346757.html