1

我有一个接受多个参数的方法:void doodle(Object o, Object... objects).

有什么方法可以区分objects是真正的数组还是仅由多个参数构建的数组?

void doodle(Object o, Object[] objects)Java 中不允许重载类似的方法。

4

1 回答 1

3

没有办法区分,因为没有真正的区别。

Object...只不过是语法糖,在底层,真正的方法签名有Object[],这就是为什么你不能重载它,它基本上是一样的。

对于您的特定用例,您可以测试该方法是否具有可变参数并相应地创建可视化,看看这是否有帮助:

http://java.sun.com/javase/6/docs/api/java/lang/reflect/Method.html#isV​​arArgs%28%29

于 2012-08-01T10:52:19.043 回答