Dans la programmation Java, la sérialisation joue un rôle essentiel dans le stockage et la récupération d'objets à partir du stockage persistant. Cependant, lorsqu'il s'agit de sérialiser des expressions lambda, une approche simple peut conduire à la fameuse NotSerializingException. La question se pose : comment sérialiser les lambdas avec élégance sans recourir à la création d'interfaces factices ?
La réponse réside dans la puissance de l'intersection de types de Java 8. Java 8 a introduit la possibilité de convertir un objet en une intersection de types en ajoutant plusieurs limites. En tirant parti de cette fonctionnalité, nous pouvons réaliser la sérialisation des lambdas comme suit :
// Cast the lambda to an intersection of Runnable and Serializable Runnable r = (Runnable & Serializable)() -> System.out.println("Serializable!");
En lançant le lambda à l'intersection de Runnable et Serialisable, le lambda devient automatiquement sérialisable. Cette solution élégante élimine le besoin de créer une interface sérialisable personnalisée uniquement à des fins de sérialisation.
Par conséquent, face au défi de la sérialisation des lambdas, rappelez-vous la puissance de l'intersection de types de Java 8. Il fournit un moyen propre et efficace de sérialiser les lambdas sans introduire d'interfaces inutiles.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!