Kapitel 8. Das Paket java.time

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Freunde lassen ihre Freunde nicht java.util.Date benutzen.

Tim Yates

Seit den Anfängen der Sprache enthält die Standard-Edition-Bibliothek zwei Klassen für den Umgang mit Daten und Zeiten: java.util.Date und java.util.Calendar. Die erste Klasse ist ein klassisches Beispiel dafür, wie man eine Klasse nicht gestalten sollte. Wenn du dir die öffentliche API ansiehst, sind praktisch alle Methoden veraltet, und das schon seit Java 1.1 (etwa 1997). Die veralteten Methoden empfehlen, stattdessen Calendar zu verwenden, was auch nicht gerade lustig ist.

Beide sind älter als1 die Einführung von Enums in der Sprache, daher verwenden sie Integer-Konstanten für Felder wie Monate. Beide sind veränderbar und daher nicht thread-sicher. Um einige Probleme zu lösen, hat die Bibliothek später die Klasse java.sql.Date als Unterklasse der Version in java.util hinzugefügt, aber das hat die grundlegenden Probleme nicht wirklich gelöst.

Endlich wurde in Java SE 8 ein komplett neues Paket hinzugefügt, das alles anspricht. Das Paket java.time basiert auf der Joda-Time-Bibliothek, die schon seit Jahren als freie, quelloffene Alternative genutzt wird. Die Entwickler von Joda-Time haben bei der Entwicklung des neuen Pakets mitgeholfen und empfehlen, es bei zukünftigen Entwicklungen zu nutzen.

Das neue Paket wurde unter JSR-310 entwickelt: Date ...

Get Moderne Java-Rezepte now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.