http://12477787.blog.51cto.com/12467787/1887843
Java在1.5之后允许方法使用可变参数,可变参数的好处在于:它允许传递0个或者多个参数。比如原来有一段代码下载如下:
-
public class Test {
-
public static void main(String[] args) {
-
test();
-
test(new String[]{"a"});
-
test(new String[]{"a", "b"});
-
}
-
-
private static void test() {
-
System.out.println(“[]”);
-
}
-
-
private static void test(String[] args) {
-
System.out.println(Arrays.toString(args));
-
}
-
}
使用可变参数之后的代码下载如下:
-
public class Test {
-
public static void main(String[] args) {
-
test();
-
test(new String[]{"a"});
-
test(new String[]{"a", "b"});
-
}
-
-
private static void test(String... args) {
-
System.out.println(Arrays.toString(args));
-
}
-
}
可见,可变参数的功能更加强大,语意包含的范围更广。
我们知道,在Java中,除了8种基本类型之外一切都是类。那么可变参数到底是个什么类呢?来,用代码下载验证下!
-
public class Test {
-
public static void main(String[] args) {
-
whatClass();
-
whatClass1();
-
}
-
-
private static void whatClass(String... args) {
-
System.out.println(args.getClass());
-
System.out.println(new String[]{}.getClass());
-
}
-
-
private static void whatClass1(int... args) {
-
System.out.println(args.getClass());
-
System.out.println(new int[]{}.getClass());
-
}
-
}
上面代码的运行结果是:
class [Ljava.lang.String;
class [Ljava.lang.String;
class [I
class [I
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步