... 在 Java 中表示 varargs。
[vararg] 属性指定该方法采用可变数量的参数。为此,最后一个参数必须是一个包含所有剩余参数的 VARIANT 类型的安全数组:
[vararg [, optional-attributes]] return-type function-name(
[optional-param-attributes] param-list,
SAFEARRAY(VARIANT) last-param-name);
可变参数语法基本上可以让您指定可能的参数,对吗?他们可以在那里,也可以不在那里。这就是三个点的目的。当您调用该方法时,您可以使用或不使用这些参数来调用它。这样做是为了避免将数组传递给方法。
看看this:
见When do you use varargs in Java?
final public class Main
{
private void show(int []a)
{
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+"\t");
}
}
private void show(Object...a)
{
for(int i=0;i<a.length;i++)
{
System.out.print(a[i]+"\t");
}
System.out.println("\nvarargs called");
}
public static void main(String... args) //See also here.
{
int[]temp=new int[]{1,2,3,4};
Main main=new Main();
main.show(temp);
main.show(); //<-- This is possible.
}
}
正因如此,varargs在方法的重载中基本不推荐使用。
System.out.printf(); 是varargs 的一个示例,定义如下。
public PrintStream printf(String format, Object ... args)
{
return format(format, args);
}
format -格式字符串语法中描述的格式字符串
args - 格式字符串中格式说明符引用的参数。如果参数多于格式说明符,则忽略多余的参数。参数的数量是可变的,可能为零。参数的最大数量受 Java 虚拟机规范定义的 Java 数组的最大维度限制。空参数的行为取决于转换。