Java 8 Novo Referência do Método de Recursos
Para referências, geralmente as usamos em objetos, e a característica da referência de objetos é que diferentes objetos de referência podem operar na mesma peça de conteúdo!
Java 8 Referência do método define quatro formatos:
Exemplo de referência de método estático
/*** Referência do método estático* @param <p> Tipo de parâmetro Método de referência* @param <r> Retorno tipo de método de referência* / @funcionalInterfaceInterface FUNSTATTICREF <P, r> {public r TRANTEST (p P);} public STATION Void Main (string [] args) { /* Método da referência do método: Public String de Stringf Stratf* FUNSTATTICREF#TRANTEST Método*/ FanstaticRef <Integer, String> FunstaticRef = String :: Valueof; String str = FUNSTATTICREF.TRANTEST (10000); System.out.println (str.replaceall ("0", "9"));}
Exemplo de referência do método de objeto
/*** Referência de método normal* @param <r> Método de referência Retorno Tipo*/ @funcionalInterfaceInterface InstanRef <R> {public r Uppercase ();} public static void main (string [] args) {/** Referência de métodos ordinários: public string touppercase ()*/string str2 = "eu te ver"; Instanref <string> instanRef = str2 :: touppercase; System.out.println (instanref.uppercase ());} Exemplo de uma referência de método de tipo específico
A citação de um método específico é difícil de entender. Refere -se a métodos comuns, mas o método de referência é: ClassName :: MethodName
/** * Reference to specific methods* @param <P> */@FunctionalInterfaceinterface SpecificMethodRef<P>{ public int compare(P p1 , P p2);}public static void main(String[] args) { /* * Reference to specific methods public int compareTo(String anotherString) * Compared with the previous method, the object is no longer needed to be defined before the method references, but can be understood as defining O objeto nos parâmetros! */ Specificmethodref <string> specificMethodref = string :: compareto; System.out.println (specificmethodref.compare ("a", "b")); ConstrutorRef <Book> constructorRef = book :: new; Livro do livro = constructorRef.createObject ("java", 100,25); System.out.println (livro);}Exemplo de referência do construtor
Classe Book {Private String Title; preço duplo privado; public book () {} public book (título da string, preço duplo) {this.price = price; this.title = title; } @Override public string tostring () {return }} public static void main (string [] args) { / * * constructorRef <Book> constructorRef = book :: new; Livro do livro = constructorRef.createObject ("java", 100,25); System.out.println (livro);}Em geral, alguns novos recursos do Java 8 não foram usados nos projetos atualmente em uso, mas depois de aprender, você não verá o código desses novos recursos do Java 8 e não sabe o que há de errado!
Obrigado pela leitura, espero que isso possa ajudá -lo. Obrigado pelo seu apoio a este site!