Latest web development tutorials

Java 8 méthode références

Java 8 nouvelles fonctionnalités Java 8 nouvelles fonctionnalités


La méthode référencée par le nom de la méthode pour pointer vers une méthode.

La méthode de configuration de référence peut être un langage plus compact et concis pour réduire le code redondant.

Méthode référence à une paire de points (: :).

Ci-dessous, nous définissons quatre méthodes de classe de voiture, par exemple, la distinction entre Java pris en charge quatre référence des méthodes différentes.

public static class Car {
    public static Car create( final Supplier< Car > supplier ) {
        return supplier.get();
    }              
        
    public static void collide( final Car car ) {
        System.out.println( "Collided " + car.toString() );
    }
        
    public void follow( final Car another ) {
        System.out.println( "Following the " + another.toString() );
    }
        
    public void repair() {   
        System.out.println( "Repaired " + this.toString() );
    }
}
  • Méthode statique références: La syntaxe est Class :: static_method, des exemples sont les suivants:

    final Car car = Car.create( Car::new );
    final List< Car > cars = Arrays.asList( car );
    
  • Toute méthode d'objet d'une citation de classe particulière: Il est Class :: exemples de syntaxe de la méthode sont les suivantes:

    cars.forEach( Car::collide );
    
  • Méthode fait référenceàun objet spécifique:il est des exemples de syntaxe instance :: méthode sont les suivants:

    cars.forEach( Car::repair );
    
  • Constructor Quote: La syntaxe est Class :: nouveau, ou plus généralement la classe <T> :: nouveaux exemples sont les suivants:

    final Car police = Car.create( Car::new );
    cars.forEach( police::follow );
    

Méthode de référence instance

Dans le fichier Java8Tester.java entrez le code suivant:

import java.util.List;
import java.util.ArrayList;

public class Java8Tester {
   public static void main(String args[]){
      List names = new ArrayList();
		
      names.add("Google");
      names.add("w3big");
      names.add("Taobao");
      names.add("Baidu");
      names.add("Sina");
		
      names.forEach(System.out::println);
   }
}

Exemple nous system.out :: méthode println comme une méthode statique pour référencer.

Mise en œuvre du script ci-dessus, la sortie est:

$ javac Java8Tester.java 
$ java Java8Tester
Google
w3big
Taobao
Baidu
Sina

Java 8 nouvelles fonctionnalités Java 8 nouvelles fonctionnalités