Java 8新機能メソッドリファレンス
参照のために、通常、オブジェクトでそれらを使用します。オブジェクト参照の特性は、異なる参照オブジェクトが同じコンテンツで動作できることです!
Java 8メソッドリファレンスは4つの形式を定義します。
静的メソッド参照例
/***静的メソッドリファレンス* @param <p>パラメーター参照メソッドのタイプ* @param <r>参照方法のreturn type* / @functionalinterface interface funstaticref <p、r> {public r trantest(p p);} public static void main(string [] args){ /**静的方法参照FunStaticRef#Trantest Method*/ FunStaticRef <integer、string> funstaticref = string :: valueof; string str = funstaticref.trantest(10000); system.out.println(str.replaceall( "0"、 "9"));}
オブジェクトメソッド参照例
/***通常のメソッド参照* @param <r>参照メソッド戻りタイプ*/ @functionalinterfaceinterface instanref <r> {public r uppercase();} public static void main(String [] args){/** public string touppercase()*/string str2 = "i sea you"; Instanref <string> instanref = str2 :: touppercase; system.out.println(instanref.uppercase());}特定のタイプメソッドリファレンスの例
特定の方法の引用を理解するのは困難です。通常の方法を指しますが、参照方法は次のとおりです。クラス名:: MethodName
/** *特定の方法への参照 * @param <p> * / @functionalinterfaceinterface expecimemethodref <p> {public int compare(p p1、p p2);} public static void main(string [] args){ / * *特定の方法への参照public int compareto(string anotherstring) *パラメーター! */ specietymethodref <string> speciatemethodref = string :: compareto; system.out.println(speciecymethodref.compare( "a"、 "b")); constructorref <book> constructorref = book :: new; book book = constructorref.createobject( "Java"、100.25); System.out.println(book);}コンストラクターの参照の例
クラスブック{プライベート文字列タイトル;プライベートダブル価格。 public Book(){} public Book(String Title、Double Price){this.price = price; this.title = title; } @Override public String toString(){return "book {" + "title = '" + title +'/'' + "、firce =" + price + '}'; }} public static void main(string [] args){ / * * constructorref <book> constructorref = book :: new; book book = constructorref.createobject( "Java"、100.25); System.out.println(book);}一般に、Java 8のいくつかの新機能は現在使用されているプロジェクトでは使用されていませんが、学習後、Java 8のこの新機能のコードが表示されず、何が悪いのかわかりません。
読んでくれてありがとう、私はそれがあなたを助けることができることを願っています。このサイトへのご支援ありがとうございます!