Java 8: le nuove Date/Time API

Java 8 Date/Time API: le attese novità della nuova interfaccia

Java 8 ha introdotto interessanti novità per quanto riguarda la Data/Time API (Application Programming Interface, ovvero interfaccia di programmazione di un’applicazione). Si tratta di un importante traguardo, atteso a lungo da tutti gli sviluppatori Java: questi ultimi, in particolar modo, richiedevano un’interfaccia maggiormente intuitiva e di più facile utilizzo; molto spesso, infatti, era necessario utilizzare file di terze parti come Joda-Time. L’introduzione di una nuova Date/Time API, in altre parole, consentirà un utilizzo più immediato e agevole delle varie funzionalità Java: la nuova interfaccia di programmazione sarà disponibile nel pacchetto java.time.

I principali vantaggi della nuova interfaccia Data/Time

L’introduzione di una nuova interfaccia di programmazione Data e Tempo, sebbene influenzata dalla richieste dei sviluppatori, è dovuta essenzialmente a due fattori: la necessità di ottenere classi immutabili e la volontà di adeguarsi all’approccio Domain-driven design (DDD), indispensabile per risolvere problemi di elevata complessità.
Per quanto riguarda il primo aspetto, occorre premettere che fino ad ora le classi Data sono state mutevoli: ciò impediva agli sviluppatori di garantire la sicurezza dei thread per quanto riguarda gli oggetti Data. Al contrario, la nuova interfaccia di programmazione presenta classi immutabili, garantendo quindi la sicurezza dei thread.
Per quanto concerne, invece, l’approccio Domain-driven design, è importante sottolineare come la nuova Date/Time API permetta agli sviluppatori di comprendere con facilità il funzionamento di Java e di muoversi con disinvoltura tra metodi e classi.
In conclusione, le novità presentate da Java 8 comportano significativi vantaggi sia dal punto di vista dell’utilizzo delle [strong]classi[/strong] sia sul piano della sicurezza.

Alcuni dettagli su Java 8 e le nuove Data/Time API

Le classi e le operazioni messe a disposizione dalla Date/Time API sono diverse; le classi base, immutabili e sicure, sono:
– java.time.LocalDate, utilizzata per indicare esclusivamente la data
– java.time.LocalTime, impiegata per segnalare il tempo ma non la data
– java.time.LocalDateTime, in grado di fornire informazioni sia sulla data sia sul tempo

Accanto a queste, non possono mancare altre classi immutabili e sicure nonché più specifiche:

– java.time.Year, utilizzata per informare sull’anno
– java.time.Duration, pratica per comunicare la durata in secondi o nanosecondi
– java.time.Period, comoda per indicare la durata in anni, mesi e giorni