Java 14 met patroonherkenning moet betere code opleveren

Oracle heeft Release 14 van Java nu algemeen beschikbaar gemaakt. In de Java Development Kit (JDK) 14 zijn ook onder meer verschillende preview-toepassingen toegevoegd, zoals patroonherkenning in de instance of operator.

De release van versie 14 van de programmeertaal is geheel in lijn met de releasestrategie van twee versies per jaar die de techgigant sinds drie jaar doorvoert. In deze laatste versie is week veel nieuwe functionaliteit toegevoegd.

Patroonherkenning

Een van de belangrijkste nieuwe eigenschappen is het toevoegen van patroonherkenning voor instanceof operator. Het betreft nog wel een testfase, aldus Oracle. In Java zorgt een operator voor het uitvoeren van (wiskundige) bewerkingen met variabelen.

Met de nu uitgebrachte preview neemt de operator nu een type testpatroon in plaats van alleen type-bewegingen van de programmeurs. Dit moet hen helpen om meer beknopte code te schrijven en fouten te voorkomen die ontstaan door het constant herhalen van bepaalde type-informatie. Dit moet uiteindelijk ook weer een betere patroonherkenning gaan opleveren.

Een andere belangrijke nieuwe feature zijn ‘records’ die een compacte syntax moeten gaan opleveren voor het verklaren van ‘classes’. Met deze records moeten softwareontwikkelaars uiteindelijk ‘data kunnen modelleren als data’.

Overige toevoegingen

Overige nieuwe eigenschappen van JDK 14 zijn onder de aanwezigheid van een ‘foreign memory’ API en een tool voor het verpakken van ‘self-contained’ Java-applicaties. Vooral deze laatste functionaliteit zou interessant zijn omdat deze applicaties op dit moment nog alleen worden geleverd als incubator-modules.

Verder maakt de release ook nog JDK Flight recorder data openbaar. Deze verzamelde data kunnen bijvoorbeeld door monitoring tools worden gebruikt om bijvoorbeeld een file mapping-modus te gebruiken voor non-volatiel geheugen. Ook moet deze data het gebruik van zogeheten ‘NullPointerExceptions’ verbeteren. Dit door precies te beschrijven welke variabele een ‘null’ was en daarbij tegelijkertijd andere bruikbare informatie te tonen, aldus de release notes.