Java类型后面的3个点的含义

class Father
{
  public void foo(String... s)
  {
<span style="white-space:pre">	</span>System.out.println("Father:foo");

   }
public void bar(String s)
  {
     System.out.println("Father:bar");
  }
}
class Son extends Father
{

public void foo(String s)
{
  System.out.println("Son:foo");
}

public void bar(String s)
{
   System.out.println("Son:bar");
}
}
可变数组参数。用...的话,传参数时可传可不传,传的话,能够是一个个并列地传,也能够直接是一个数组。

在方法里取时,s是一个数组,若是调用时什么都没有传,那么s的长度就是0。传的时候传了几个,s的长度就是几。

还有,1.5以上才支持这个功能。 html

public class Number3 {
 public static void main(String[] args) {
  printString();
  System.out.println("==========");
  printString(new String[]{"我","和","你"});
  System.out.println("==========");
  printString("我","和","你");
 }
 public static void printString(String... str){
  if(str.length==0){
   System.out.println("没有传参数。");
  }
  for (int i = 0; i < str.length; i++) {
   System.out.println(str[i]);
  }
 }

就是说String...str,表示可变字符串数组,String[] str