Heim > Java > javaLernprogramm > Wie kann ich ein Java-Lambda serialisieren, ohne eine Dummy-Schnittstelle zu erstellen?

Wie kann ich ein Java-Lambda serialisieren, ohne eine Dummy-Schnittstelle zu erstellen?

Linda Hamilton
Freigeben: 2024-12-13 17:25:19
Original
988 Leute haben es durchsucht

How Can I Serialize a Java Lambda Without Creating a Dummy Interface?

Lambdas in Java serialisieren

Der Versuch, ein Lambda in Java zu serialisieren, kann zu einer NotSerializableException führen. In diesem Artikel wird untersucht, wie Sie diese Hürde elegant überwinden können, ohne auf die Erstellung einer SerializableRunnable-„Dummy“-Schnittstelle zurückgreifen zu müssen.

Im bereitgestellten Beispiel ist das Lambda wie folgt definiert:

Runnable r = () -> System.out.println("Can I be serialized?");
Nach dem Login kopieren

Schreiben dieses Lambda an Ein ObjectOutputStream wirft das NotSerializableException.

Lösung

Java 8 führt die Möglichkeit ein, ein Objekt in eine Schnittmenge von Typen umzuwandeln. Dies kann im Kontext der Serialisierung genutzt werden, wie unten gezeigt:

Runnable r = (Runnable & Serializable)() -> System.out.println("Serializable!");
Nach dem Login kopieren

Diese Umwandlung modifiziert effektiv das Lambda, um sowohl die Runnable- als auch die Serializable-Schnittstelle zu implementieren. Folglich wird das Lambda serialisierbar, ohne dass eine separate „Dummy“-Schnittstelle erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie kann ich ein Java-Lambda serialisieren, ohne eine Dummy-Schnittstelle zu erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage