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

Java 8中::运算符的名称是什么,java,lambda,operators,java-8,Java,Lambda,Operators,Java 8,在以下任一资源中,我都找不到Java 8中添加的::运算符的名称: 根据,它看起来像是一个方法引用操作符。您链接到的建议JLS的第15.13节介绍了这一点 然而,正如正确指出的那样,它似乎从来没有被明确地命名为操作符(不像所有像+,-之类的东西)。相反,JLS只是将包含:的整个表达式作为方法引用表达式引用 这可能是因为:根本不被认为是一个操作符,而是作为分隔符显式调用的(请参见JLS链接3.11,而操作符在3.12中) 因此,在您感兴趣的上下文中,我倾向于将其称为方法引用分隔符(或者更一般

在以下任一资源中,我都找不到Java 8中添加的
::
运算符的名称:

根据,它看起来像是一个方法引用操作符。您链接到的建议JLS的第15.13节介绍了这一点

然而,正如正确指出的那样,它似乎从来没有被明确地命名为操作符(不像所有像
+
-
之类的东西)。相反,JLS只是将包含
的整个表达式作为方法引用表达式引用

这可能是因为
根本不被认为是一个操作符,而是作为分隔符显式调用的(请参见JLS链接3.11,而操作符在3.12中)


因此,在您感兴趣的上下文中,我倾向于将其称为方法引用分隔符(或者更一般地称为双冒号分隔符)。

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

它可能应该被称为“冒号分隔符”

  • Brian Goetz称之为“冒号冒号”,因为他是LAMBDA JSR的规范引线,我想我们可以认为他是权威的来源。李>
  • 分类为分隔符

*来源:。

可能是方法引用运算符?运算符::做什么?我不确定它是否可以被视为运算符。毕竟,所有运算符都类似于作用于操作数的函数。而
运算符作用的操作数是什么?我认为它更像是一种语法特性,比如
[]
。您提供的链接从未按名称引用
。此外,第15.13节从未提及过名称。这与第15.14到第15.26节形成鲜明的对比,这一节逐节给出了其他java操作员的明确名称。现在视频不是为我加载的(可能只是流视频被封锁在这里),但假设它说,那么我会考虑实际答案。280Z28该视频在firefox上对我不起作用-它在Internet Explorer上起作用-这太令人震惊了!