如何在Java中解释varargs?

时间:2014-06-14 18:21:41

标签: java arrays variadic-functions

说我有这些方法:

public void a(String string, Object ... objects) {
    //Code...
}

public void a(Object ... objects) {
    notNull("Some String", objects);
}

调用只有一个参数的方法有效吗?或者使用字符串和vararg的重载方法是否从方法中获取数组,只使用vararg作为其列表中的第一个对象(使其成为对象[0] [...])? 谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

据我所知,varargs基本上是一种语法。

而不是:

void myMethod(Object[] args) { ... }
// ...
myMethod(new Object[]{"foo",2,true});

你可以写

void myMethod(Object... args) { ... }
/// ...
myMethod("foo",2,true);

编译器会将它包装在一个数组中。阅读更多here

关于您的问题,只需编写代码并查看将调用重载方法的变体。