Java 8 Referencias de métodos
Nuevas características de Java 8
La referencia a métodos apunta a un método mediante el nombre del método.
Las referencias a métodos pueden hacer que la construcción del lenguaje sea más compacta y concisa, reduciendo el código redundante.
La referencia a métodos utiliza un par de dos puntos (::).:: 。
A continuación, definimos 4 métodos en la clase Car como ejemplo para distinguir las referencias a los 4 tipos diferentes de métodos en Java.
-
Referencia al constructor:Su sintaxis es Class::new, o más generalmente Class< T >::new, como en el siguiente ejemplo:
final Car car = Car.create( Car::new ); final List< Car > cars = Arrays.asList( car ); -
Referencia a método estático:Su sintaxis es Class::static_method, como en el siguiente ejemplo:
cars.forEach( Car::collide ); -
Referencia a un método de un objeto arbitrario de una clase particular:Su sintaxis es Class::method, como en el siguiente ejemplo:
cars.forEach( Car::repair ); -
Referencia a un método de un objeto específico:Su sintaxis es instance::method, como en el siguiente ejemplo:
final Car police = Car.create( Car::new ); cars.forEach( police::follow );
Ejemplo de referencia a método
Ingrese el siguiente código en el archivo Java8Tester.java:
Archivo Java8Tester.java
En el ejemplo, referenciamos el método System.out::println como un método estático.
Ejecute el script anterior, el resultado de salida es:
$ javac Java8Tester.java $ java Java8Tester Google Ejemplo Taobao Baidu Sina
Otras extensiones