Col·leccions immutables a Java mitjançant tipus segellats

Bloc

Col·leccions immutables a Java mitjançant tipus segellats

Com definir col·leccions Java immutables contractuals, estructurals i verificables

Imatge per publicar

Disseny de col·leccions immutables mitjançant tipus segellats a JDK 15

Presentació dels tipus segellats

JDK 15 es va publicar el 15 de setembre de 2020. JEP 360 Tipus segellats es va incloure com a funció de previsualització en aquesta versió. Forma part dels tipus segellats Projecte Amber . Es poden utilitzar classes o interfícies segellades per restringir les interfícies o classes que es poden ampliar. Això s'aconsegueix utilitzant els sealed, non-sealed i permits modificadors.

Què és la immutabilitat contractual?

Una interfície o classe és immutable contractualment si els mètodes públics disponibles no permeten mutar una instància després de construir-la. A contractualment col·lecció immutable no ha d'exposar mètodes com add, addAll, remove, removeAll, clear i un mutable Iterator . Aquests mètodes estan disponibles a Collection, List i Set tipus a Java. Les col·leccions immutables que implementen aquestes interfícies no són immutables contractualment.

Què és la immutabilitat estructural?

Un objecte és estructuralment immutable si ho són tots els seus membres privat , final , i no es pot modificar després de la construcció de l'objecte. String és un gran exemple d'una classe a Java que és estructuralment immutable. Un cop a String està construït, no es pot canviar. Els objectes immutables com String de vegades tenen contraparts mutables com StringBuilder.

# codi obert #java # eclipse-collections #programació # desenvolupament de programari

medium.com

Col·leccions immutables a Java mitjançant tipus segellats

JDK 15 es va llançar el 15 de setembre de 2020. JEP 360 Sealed Types es va incloure com a funció de previsualització en aquesta versió. Sealed Types forma part de Project Amber. Es poden utilitzar classes o interfícies segellades per restringir les interfícies o classes que es poden ampliar. Això s’aconsegueix utilitzant els modificadors segellats, no segellats i de permisos.