Wie lautet der Operator :: in Java 8?

3 Antworten

4

Es sollte wahrscheinlich ein "Doppelpunkt Doppelpunkt" :

genannt werden
  • Brian Goetz * nennt es "Kolon-Doppelpunkt" und da er der Spezifikationsleiter für den Lambda-JSR war, nehmen wir an, dass wir ihn als autoritative Quelle betrachten können.
  • Die Spezifikation # 3.11 klassifiziert :: als Trennzeichen.

* Quelle: die Straße nach Lambda @ Javaone 2013 um 04:00 .

    
assylias 22.01.2014, 11:21
quelle
7

Nach hier , es sieht ähnlich aus wie ein Methodenreferenzoperator. Es ist in Abschnitt 15.13 des vorgeschlagenen JLS behandelt, zu dem Sie verlinken.

Wie jedoch richtig ausgeführt, scheint es, dass es nie explizit als Operator benannt wird (im Gegensatz zu allen Dingen wie + , - usw.). Stattdessen verweist die JLS einfach auf den gesamten Ausdruck, der :: als Methodenreferenzausdruck enthält.

Dies liegt möglicherweise daran, dass :: nicht ist, die überhaupt als Operator betrachtet wird, sondern explizit als Trennzeichen (siehe JLS link 3.11, während die Operatoren in 3.12 sind). .

Also würde ich es im Kontext, an dem Sie interessiert sind, als Methodenreferenz-Trennzeichen (oder allgemeiner das Doppel-Doppelpunkt-Trennzeichen) bezeichnen.

    
paxdiablo 22.01.2014 03:12
quelle
0

Es wird in # 3.11 und # 15.13.3 als 'Trennzeichen' beschrieben.

    
EJP 22.01.2014 03:56
quelle

Tags und Links