版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36336003/article/details/83989154
可变参数是为printf设计的,在jdk1.5时加入jdk中;
调用时自动根据参数数量创建一个数组,将参数值放入数组中,并将该数组传入包含可变参数的方法,使用时可以像数组一样使用可变参数;
使用方法:
参数个数为0或更多时,使用如下:
// java.util.Arrays#asList
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
参数个数为1或更多时,使用如下:
// java.util.PrintStream#printf
public PrintStream printf(String format, Object ... args) {
return format(format, args);
}
调用参数个数较少的方法概率非常大,使用如下:
// java.util.EnumSet#of(假设调用5个参数或更少的of方法的概率为90%)
public static <E extends Enum<E>> EnumSet<E> of(E e) {}
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2) {}
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3) {}
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4) {}
public static <E extends Enum<E>> EnumSet<E> of(E e1, E e2, E e3, E e4,
E e5){}
public static <E extends Enum<E>> EnumSet<E> of(E first, E... rest) {}