Java プログラミングでは、シリアル化は永続ストレージにオブジェクトを格納したり、永続ストレージから取得したりする際に重要な役割を果たします。ただし、ラムダ式をシリアル化する場合、単純なアプローチでは悪名高い NotSerializableException が発生する可能性があります。疑問が生じます: ダミー インターフェイスの作成に頼ることなく、ラムダをエレガントにシリアル化するにはどうすればよいでしょうか?
その答えは、Java 8 の型交差の力にあります。 Java 8 では、複数の境界を追加することで、型の交差部分にオブジェクトをキャストする機能が導入されました。この機能を活用すると、次のようにラムダのシリアル化を実現できます。
// Cast the lambda to an intersection of Runnable and Serializable Runnable r = (Runnable & Serializable)() -> System.out.println("Serializable!");
Runnable と Serializable の交差部分にラムダをキャストすることにより、ラムダは自動的にシリアル化可能になります。この洗練されたソリューションにより、シリアル化のみを目的としたカスタム Serializable インターフェイスを作成する必要がなくなります。
したがって、ラムダのシリアル化という課題に直面したときは、Java 8 の型交差の力を思い出してください。これは、不要なインターフェイスを導入せずにラムダをシリアル化するクリーンで効率的な方法を提供します。
以上がシリアル化可能なインターフェイスを作成せずに Java で Lambda をシリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。