【发布时间】:2010-10-20 11:24:19
【问题描述】:
我害怕可变参数。我不知道用它们做什么。
另外,让人们随意传递尽可能多的参数感觉很危险。
什么是一个可以使用它们的好地方的上下文示例?
【问题讨论】:
-
我不明白为什么它会是“危险的”。这并不比使用不同参数多次调用方法更危险。您对堆栈有顾虑吗?那么你不应该,因为可变参数被映射到通过引用传递的数组。
-
只是想插话:避免您(尚未)完全适应的语言功能没有错。比使用您不了解的功能要好得多! ;)
-
害怕未知是正常的。要了解更多关于可变参数的信息,请点击此处docs.oracle.com/javase/tutorial/java/javaOO/arguments.html。你会看到,可变参数没什么好怕的。可变参数很有用。了解如何使用 varargs 使您能够编写诸如 [PrintStream.format]("docs.oracle.com/javase/7/docs/api/java/io/…, java.lang.Object...)") 之类的方法:)。
-
这不是对可变参数的批评,但实际上有一些“害怕”的理由(直到你完全理解可变参数的局限性);这就是存在 @SafeVarargs 注释的原因。 stackoverflow.com/a/14252221/1593924