Los desarrolladores de Java obtendrían una forma más sencilla de crear registros y un código más optimizado para declarar clases de registros, a través de la creación de registros derivados, una característica del lenguaje de vista previa que está considerando la comunidad OpenJDK.
Creación de registros derivados permitiría a los desarrolladores crear nuevos registros a partir de registros existentes, especificando solo los componentes que son diferentes. Los objetivos de la propuesta incluyen proporcionar un medio conciso para crear nuevos valores de registro a partir de los existentes y simplificar la declaración de clases de registros eliminando la necesidad de proporcionar métodos wither explícitos, que son el análogo inmutable de los métodos setter.
Detrás de la propuesta está la noción de que la inmutabilidad es una técnica poderosa para crear código seguro y confiable sobre el cual es fácil razonar. Escribir clases inmutables en Java tradicionalmente era un ejercicio tedioso que involucraba muchos textos repetitivos, pero las clases de registro introducidas en JDK 16 Facilite la declaración de clases inmutables y centradas en datos.
La inmutabilidad de las clases de registros garantiza la previsibilidad y la seguridad y habilita funciones que las hacen fáciles de usar, incluidos constructores canónicos, métodos de acceso y métodos de código de objeto bien definidos. Sin embargo, los sistemas que los desarrolladores necesitan modelar todavía tienen estado, y puede resultar engorroso evolucionar el estado modelado por clases de registros, señala la propuesta. Una mejor manera de derivar nuevos valores de registros a partir de valores de registros antiguos sería permitir que los desarrolladores se concentren en transformar componentes y hacer que el compilador de Java maneje la deconstrucción y la creación de instancias de valores de registros automáticamente.
Creada a finales de noviembre de 2023 y actualizada el 28 de febrero, la propuesta de creación de registros derivados pasaría a formar parte de Java Standard Edition. No se ha nombrado ninguna versión específica como destinatario. Crear expresiones de creación derivadas para valores ordinarios que no son de registro no es un objetivo de la propuesta actual, pero puede ser el tema de una futura propuesta de mejora de JDK.
Copyright © 2024 IDG Communications, Inc.