Neue Date & Time API in Java 8
Auf diese Seite lese ich Folgendes:
Rechnen mit Datumsangaben-es ist auch sehr einfach. Wohl die beste Verbesserung im Vergleich zur derzeitigen situation mit Java < 1.8:
Period p = Period.of(2, HOURS);
LocalTime time = LocalTime.now();
LocalTime newTime = time.plus(p); //or time.plus(5, HOURS); or time.plusHours(5);
Ich nicht klar sehe den Vorteil vor-Versionen < 1.8.
Vielleicht kann jemand mir ein Beispiel nennen?
Atm Frage ich mich, wo die Verbesserung des new date & time API kommt.
Können Sie schreiben, die gleiche Funktionalität mit JDK?
InformationsquelleAutor Chris311 | 2013-07-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit Java < 8, würden Sie brauchen, um etwas zu schreiben wie:
vs. Java 8:
Die Verbesserungen sind im wesentlichen auf
Calendar.getInstance()
ist nicht sehr gut benannt: es ist schwer zu sagen die Instanz, die Sie bekommen, ohne das Lesen der Javadoc.LocalTime.now()
ist ziemlich selbsterklärend: Sie erhalten eine Zeit-und es ist jetzt.plus
) in der Erwägung, dass mit der Kalender-API, müssen Sie manuell ändern Sie die Felder des Objekts (in diesem Beispiel, die Stunde) ist fehleranfällig.cal.set(123, 2)
würde werfen eine nicht so hilfreicheArrayOutOfBoundsException
. Die neue API verwendet, Enumerationen, das löst das problem.Insgesamt, die neue API ist deutlich inspiriert von der jodatime, die die bevorzugte Java-Datum-API seit geraumer Zeit jetzt. Sie können auch Lesen dieser detaillierte Vergleich von Java (<1.8) Datum vs. JodaTime (die meisten davon gelten soll, die Java 8 Date API).
cal.add(Calendar.HOUR, 2)
. Aber ich Stimme zu, dass die neue API ist eine große Verbesserung für alle die Gründe, die Sie aufgeführt haben.Du hast Recht - ich habe nicht verwendet die date-API seit geraumer Zeit 😉
InformationsquelleAutor assylias
Vorteile der neuen date/time API
LocalDate.jetzt().plusYears(10)
Nachteile
InformationsquelleAutor Hubert Schumacher