Java 8中的::运算符的名称是什么

时间:2014-01-22 03:04:35

标签: java lambda operators java-8

3 个答案:

答案 0 :(得分:7)

根据here看起来就像它被称为方法引用运算符一样。您链接到的建议JLS的第15.13部分对此进行了介绍。

然而,正如所指出的那样,它似乎从未被明确命名为运算符(与+-之类的所有内容不同)。相反,JLS只是将包含::的整个表达式引用为方法引用表达式。

这可能是因为:: 根本不被认为是运营商,而是被明确地称为分隔符(参见JLS链接3.11,而运算符在3.12)。

因此,我倾向于在您感兴趣的上下文中调用它,方法引用分隔符(或者更常见的是双冒号分隔符)。

答案 1 :(得分:4)

它应该被称为“冒号结肠分隔符”

  • Brian Goetz *称之为“结肠冒号”,因为他是lambda JSR的规范主角,我想我们可以将他视为权威来源。
  • specification #3.11::归类为分隔符。

* 来源:the road to lambda @ Javaone 2013 around 04:00

答案 2 :(得分:0)

在#3.11和#15.13.3中都被描述为“分隔符”。