Java 8 nouvelle référence de méthode de fonctionnalité
Pour les références, nous les utilisons généralement sur des objets, et la caractéristique de la référence des objets est que différents objets de référence peuvent fonctionner sur le même élément de contenu!
La référence de la méthode Java 8 définit quatre formats:
Exemple de référence de la méthode statique
/ ** * Méthode statique Référence * @param <p> Type de paramètre Méthode de référence * @param <r> Retour Type of Reference Method * / @ FunctionalInterfaceInterface FunStaticref <p, r> {public r TRANTEST (P P);} public static void Main (String [] args) {/ * * méthode statique référence: la valeur statique publique * FunStaticRef # TRANTEST MÉTHODE * / FUNSTATICREF <Integer, String> funStaticRef = String :: ValueOf; String str = funStaticRef.Trantest (10000); System.out.println (str.replaceALL ("0", "9"));}
Exemple de référence de la méthode d'objet
/ ** * Méthode normale Référence * @Param <R> Méthode de référence Type de retour * / @ fonctionalInterfaceInterface Instanref <r> {public r uppercase ();} public static void main (String [] args) {/ * * Référence des méthodes ordinaires: public String ToupperCase () * * / String str2 = "i See You";; Instanref <string> Instanref = str2 :: ToupperCase; System.out.println (Instanref.upperCase ());} Exemple d'une référence de méthode de type spécifique
La citation d'une méthode spécifique est difficile à comprendre. Il se réfère aux méthodes ordinaires, mais la méthode de référence est: ClassName :: Methodname
/ ** * Référence à des méthodes spécifiques * @param <p> * / @ functionalInterfaceInterface SpécificEthodref <p> {public int compare (p p1, p p2);} public static void Main (string [] args) {/ * * référence à des méthodes spécifiques. Sur les paramètres! Notre System.out.println (spécifiqueMethodref.Compare ("A", "B")); ConstructorRef <Book> ConstructorRef = book :: new; Livre de livres = ConstructorRef.CreateObject ("Java", 100.25); System.out.println (livre);}Exemple de référence du constructeur
classe de classe {title de chaîne privée; double prix privé; Livre public () {} Public Book (Titre de la chaîne, double prix) {this.price = prix; this.title = title; } @Override public String toString () {return "book {" + "title = '" + title +' / '' + ", prix =" + prix + '}'; }} public static void main (String [] args) {/ * * ConstructorRef <Book> ConstructorRef = book :: new; Livre de livres = ConstructorRef.CreateObject ("Java", 100.25); System.out.println (livre);}En général, certaines nouvelles fonctionnalités de Java 8 n'ont pas été utilisées dans les projets actuellement utilisés, mais après avoir appris, vous ne verrez pas le code de ces nouvelles fonctionnalités de Java 8 et ne savez pas ce qui ne va pas!
Merci d'avoir lu, j'espère que cela peut vous aider. Merci pour votre soutien à ce site!