Java 8 Neue Feature -Methode -Referenz
Für Referenzen verwenden wir sie im Allgemeinen für Objekte, und das Merkmal der Objektreferenz besteht darin, dass verschiedene Referenzobjekte auf demselben Inhalt arbeiten können!
Java 8 Method Reference Definiert vier Formate:
Beispielreferenzbeispiel
/** * Static method reference* @param <P> Parameter type of reference method* @param <R> Return type of reference method*/@FunctionalInterfaceinterface FunStaticRef<P,R>{ public R tranTest(P p);}public static void main(String[] args) { /* * Static method reference: public static String valueOf * That is, the valueOf() method of String is referenced as FunStaticRef#Trantest -Methode*/ FunstaticRef <Integer, String> FunStaticRef = String :: ValueOf; String Str = FunStaticRef.Trantest (10000); System.out.println (Str.Replaceall ("0", "9");};};
Referenzbeispiel für Objektmethoden
/*** Normalmethode Referenz* @param <R> Referenzmethode Rückgabetyp*/ @FunctionalInterfaceInterface InstanRef <R> {public r obercaper ();} public static void main (String [] args) {/*** Referenz der gewöhnlichen Methoden: public String touppercase ()*/String Str2 = "Ich sehe mich." InstanRef <string> InstanRef = str2 :: touppercase; System.out.println (InstanRef.uppercase ());} Beispiel für eine bestimmte Typmethodenreferenz
Das Zitat einer bestimmten Methode ist schwer zu verstehen. Es bezieht sich auf gewöhnliche Methoden, aber die Referenzmethode lautet: className :: methodName
/** * Verweis auf spezifische Methoden * @param <p> * / @FunctionalInterfaceInterface Spezifischmethodref <p> {public int compare (p p1, p p 2);} öffentliche statische void -Haupthaupt (String [] args) { / * * Referenz auf bestimmte Methoden öffentliche Vergleiche (String Anothers Anothers). Auf den Parametern! */ SpezifischMethodref <string> spezifischMethodref = string :: vergleicheto; System.out.println (spezifischMethodref.comPare ("a", "b")); ConstructorRef <Book> constructorRef = book :: new; Buchbuch = ConstructorRef.CreateObject ("Java", 100,25); System.out.println (Buch);}Beispiel für die Konstruktorreferenz
Klassenbuch {privater String -Titel; privater Doppelpreis; public book () {} public book (String -Titel, Doppelpreis) {this.price = price; this.title = title; } @Override public String toString () {return "book {" + "title = '" + title +'/'' + ", price =" + price + '}'; }} public static void main (String [] args) { / * * constructorRef <Book> constructorRef = book :: new; Buchbuch = ConstructorRef.CreateObject ("Java", 100,25); System.out.println (Buch);}Im Allgemeinen wurden einige neue Funktionen von Java 8 in den derzeit verwendeten Projekten nicht verwendet, aber nach dem Lernen werden Sie den Code dieser neuen Funktionen von Java 8 nicht sehen und wissen nicht, was falsch ist!
Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!