Java 8 Methodenreferenzen
Eine Methodenreferenz verweist anhand ihres Namens auf eine Methode.
Methodenreferenzen können Sprachkonstrukte kompakter und prägnanter machen und redundanten Code reduzieren.
Methodenreferenzen verwenden ein Paar Doppelpunkte:: 。
Im Folgenden definieren wir 4 Methoden in der Klasse Car als Beispiele, um die 4 verschiedenen Arten von Methodenreferenzen in Java zu unterscheiden.
-
Konstruktorreferenz:Ihre Syntax ist Class::new, oder allgemeiner Class< T >::new. Beispiel:
final Car car = Car.create( Car::new ); final List< Car > cars = Arrays.asList( car ); -
Statische Methodenreferenz:Ihre Syntax ist Class::static_method. Beispiel:
cars.forEach( Car::collide ); -
Methodenreferenz auf ein beliebiges Objekt einer bestimmten Klasse:Ihre Syntax ist Class::method. Beispiel:
cars.forEach( Car::repair ); -
Methodenreferenz auf ein bestimmtes Objekt:Ihre Syntax ist instance::method. Beispiel:
final Car police = Car.create( Car::new ); cars.forEach( police::follow );
Beispiele für Methodenreferenzen
Geben Sie den folgenden Code in die Datei Java8Tester.java ein:
Java8Tester.java-Datei
Im Beispiel referenzieren wir die Methode System.out::println als statische Methode.
Führen Sie das obige Skript aus, und die Ausgabe ist:
$ javac Java8Tester.java $ java Java8Tester Google Example Taobao Baidu Sina
Andere Erweiterungen
Neue Funktionen in Java 8