Heim >Java >javaLernprogramm >Analyse von Java-Lambda-Ausdrücken und generischen Anwendungsbeispielen
Klassenklassenname 953ab6247467d6bcc6e21fd1d8070233{ private generische Kennung 1, Variablenname; häufig verwendete generische Kennungen: T, E, K ,V } Normale Schreibmethode darin
public class GenericDemo<K> { //定义数组 private K[] arr; }
Klassenname06c937d83654f0a53345e21d22bb8532 Objektname = neuer Klassenname44981fe36381f4da7be9a578b7031c7b()
jdk1.7 Danach kann Folgendes sein: weggelassen
Klassenname 20d24fcd5d514fac9034e35a5d2c59e5 Objektname = neuer Klassenname a8093152e673feb7aba1828c43532094 ()
Typisierung der Parameter, wodurch die Definition einer Klasse universeller wird
Generics unterstützen keine Basistypen, da Basistypen zur Kompilierungszeit nicht in Object konvertiert werden können Dieselbe generische Klasse kann logischerweise als mehrere verschiedene Typen betrachtet werden, aber in Wirklichkeit sind sie vom gleichen Typ. Beispiel: Sogar der Typ T des Generikums muss konsistent sein und der geschriebene Inhalt muss derselbe sein.)
public class Child<T> extends Parent<T> { }
Der child Die Klasse ist nicht generisch und die übergeordnete Klasse muss den generischen Typ angeben.
Generische Schnittstelle
Lambda-Ausdrucksformat
Drei Elemente: formale Parameter, Pfeil, Codeblock
Codebeispiel:
package com.lambda; public class Lambda { public static void main(String[] args) { //正常写法 Mythread mythread = new Mythread(); Thread t = new Thread(mythread); t.start(); //匿名内部类 new Thread(new Runnable() { @Override public void run() { System.out.println("多线程1就绪了"); } }).start(); //lambda表达式:创建线程 new Thread(()->{ System.out.println("多线程2就绪了"); }).start(); } } class Mythread implements Runnable{ @Override public void run() { System.out.println("多线程就绪"); } }
Das obige ist der detaillierte Inhalt vonAnalyse von Java-Lambda-Ausdrücken und generischen Anwendungsbeispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!