java - 区分Java方法中的多个参数和数组参数

标签 java arguments

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

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

在 Java 中不允许重载像 void doodle(Object o, Object[] objects) 这样的方法。

最佳答案

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

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

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

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

关于java - 区分Java方法中的多个参数和数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757653/

相关文章:

Java在一个圆圈上找到点

java - 使用 powershell 中的参数运行 java.exe

python - 减少 Python 函数中的参数数量?

Java 和 float

java - 有没有办法防止 MapStruct 在记录更新期间覆盖值?

java - 尝试使用 sbt 构建一个 scala 项目。 scala-swing Unresolved 依赖关系

java - 用于 ssm 的 aws java sdk 给出 java.lang.NoSuchFieldError : SIGNING_REGION

ruby-on-rails - Ruby 中参数前的 & 有什么作用?

ruby - 为什么 f(arg, superfluous_arg) 是 ArgumentError 而 f (arg, superfluous_arg) 是 SyntaxError?

c++ - 如何为复杂的命令行选项设计语法?