说我有这些方法:
public void a(String string, Object ... objects) {
//Code...
}
public void a(Object ... objects) {
notNull("Some String", objects);
}
调用只有一个参数的方法有效吗?或者使用字符串和vararg的重载方法是否从方法中获取数组,只使用vararg作为其列表中的第一个对象(使其成为对象[0] [...])? 谢谢你的帮助!
答案 0 :(得分:1)
据我所知,varargs基本上是一种语法。
而不是:
void myMethod(Object[] args) { ... }
// ...
myMethod(new Object[]{"foo",2,true});
你可以写
void myMethod(Object... args) { ... }
/// ...
myMethod("foo",2,true);
编译器会将它包装在一个数组中。阅读更多here。
关于您的问题,只需编写代码并查看将调用重载方法的变体。