0

在这个参数声明中,“Object”后面的三个点是什么意思:

public static int queryCount (
    Connection conn, String whereClause,
    Object ... params)
    throws Exception

它与参数声明有何不同Object params

4

3 回答 3

1

三个点表示该方法可以获取尽可能多的 Object 类型参数作为参数。阅读有关“可变参数”参数的更多信息可能会有所帮助。

于 2013-10-10T14:26:14.693 回答
0

简而言之,它是数组的语法糖,限制它应该是参数列表中的最后一个参数。

例如,如下声明 main 方法是完全合法的

public static void main(String... args) {}

还有一个特点,这个参数是可选的,但你仍然会得到一个空数组作为参数的值。

于 2013-10-10T14:29:44.763 回答
0

这个特性是在 Java 中引入的,用于隐藏使用数组作为参数的过程,以varargs.
正如文档所述,该过程仍然相同,但复杂性已降低。

请注意以下几点:

  • 这允许输入指定类型的数组或序列。
  • 参数列表中最后必须使用这种形式。
  • 这在旧版本中不可用,因此如果您计划部署到旧版本的 Java,请小心
于 2013-10-10T14:42:25.013 回答