Spesso mi chiedo perché Java usi ::
per i riferimenti al metodo anziché .
, ad es. perché scrivere
System.out::println
invece di
System.out.println
Naturalmente, si potrebbe semplicemente rispondere: "perché i progettisti hanno deciso così". D'altra parte, mi sarei aspettato la seconda sintassi perché il punto è la solita sintassi Java per l'accesso ai membri della classe.
Quindi esiste qualche motivo speciale noto per l'introduzione della nuova sintassi ::
invece di utilizzare la convenzione .
esistente per i riferimenti al metodo?