Llegamos a ustedes gracias a:



Noticias

Las propuestas del OpenJDK mejorarían la concordancia de patrones en Java

[24/03/2021] La programación en Java va a ser mejorada con patrones de registro y patrones de matriz, así como con la concordancia de patrones para expresiones y sentencias de conmutación, aunque el tiempo de llegada de estas capacidades sigue siendo indeterminado.

En una presentación en línea realizada el 23 de marzo, Gavin Bierman, miembro consultor del personal técnico de Oracle, citó estas características como el centro de dos propuestas de mejora del JDK (Java Development Kit) previstas para una próxima versión aún no determinada de Java, que las incluiría en una fase de avance. Se espera que aparezcan en la versión JDK 17, prevista para septiembre.

El apoyo a los patrones de registro y matriz, junto con los patrones de tipo (de Java 16), en el lenguaje Java, mejoraría significativamente la expresividad y la utilidad de la coincidencia de patrones, y permitiría consultas de datos más sofisticadas y componibles, afirma el borrador de la propuesta. Los patrones de registro, los patrones de matriz y los patrones de tipo pueden anidarse, como en los patrones dentro de los patrones. La sintaxis o la semántica de los patrones de tipo no cambiarán.

La concordancia de patrones se ha promocionado como un mecanismo que permite la lógica común en un programa; es decir, la extracción condicional de los componentes de los objetos, para que puedan expresarse de forma más concisa y segura. La propuesta señala que con el JDK 16, publicado el 16 de marzo, el operador instanceof se amplió para tomar un patrón de tipo, y realizar la coincidencia de patrones. La propuesta de patrones de registros y patrones de matrices se basa en la comparación de patrones para instanceof.

La concordancia de patrones para switch, por su parte, permitiría comprobar una expresión con una serie de patrones, cada uno con una acción específica, lo que permitiría expresar consultas complejas orientadas a datos de forma segura y concisa. Los objetivos de esta propuesta incluyen la ampliación de la expresividad y la aplicabilidad de las expresiones y sentencias de switch al permitir que los patrones aparezcan en las etiquetas de los casos y que la hostilidad histórica de switch se relaje cuando se desee.

El borrador de la propuesta también introduce un patrón protegido, de modo que la lógica de coincidencia de patrones podría refinarse con expresiones booleanas arbitrarias y el patrón entre paréntesis. Las expresiones switch existentes seguirían compilando sin cambios y se ejecutarían con idéntica semántica.

Hasta ahora, las características oficialmente previstas para el JDK 17 incluyen generadores de números pseudoaleatorios mejorados, y un nuevo canal de renderización para MacOS. Es casi seguro que se añadirán más en los próximos meses.