【问题标题】:Triple Dot (...) Syntax in Java? Meaning and conversions? [duplicate]Java中的三点(...)语法?意义和转换? [复制]
【发布时间】:2015-07-14 01:18:44
【问题描述】:

我有这个带有平衡方法的 AVL 树:

private void setBalance(Node... nodes) {
    for (Node n : nodes)
        n.height = height(n.right) - height(n.left);
}

它使用了我以前没有遇到过的 (...) 语法。我在 google 或 SO 上找不到它。它似乎是某种类型的列表语法或数组。看起来像我会在红宝石中找到的东西。

有懂 Java 语法的人可以给我解释一下这段代码,或者给我看一个没有 ... 语法的版本吗?

谢谢。

【问题讨论】:

标签: java syntax


【解决方案1】:

这些是 varargs 。数组基本相同,但可以是零到多个。 更多 info 可能也有帮助。

【讨论】:

  • 实际上它可以从零到多(至少在 Java 8 中),所以你可以调用 setBalance() ;) 。要进行一对多,您可以使用private void setBalance(Node one, Node... many) 或类似的东西:P
  • 你是对的,刚刚在 Java 7 中进行了测试,从零到多:)
  • 还是个不错的答案 ;)
猜你喜欢
  • 2013-07-11
  • 2019-12-03
  • 1970-01-01
  • 1970-01-01
  • 2018-04-29
  • 2012-01-10
  • 2011-08-26
  • 2010-11-30
  • 2014-04-18
相关资源
最近更新 更多