2015-03-30 2 views
7

Aus irgendwelchen Gründen Vergleich können wir jetzt verwenden Java 8 Recht nicht - wir sind immer noch auf Java stecken 7.
Aber ich möchte die neue JSR-310 date/time APIs jetzt verwenden, mit die official backport ThreeTen.ThreeTen Rückportierung zu JSR-310

Seine Homepage heißt es:

The backport is NOT an implementation of JSR-310, as that would require 
jumping through lots of unnecessary hoops. Instead, this is a simple backport 
intended to allow users to quickly use the JSR-310 API on Java SE 6 and 7. 

Fragen:

  1. Was Ihre Erfahrung mit ThreeTen sind? Gibt es einige Nachteile?

  2. Wie kompatibel ist dieses Projekt im Vergleich zu den offiziellen JSR-310 Implementierungen? wandern von ThreeTen zu einem offiziellen Java 8 Implementierung

  3. Wie viel Anstrengungen zu erforderlich?

  4. Ist es wert jetzt ThreeTen zu wandern und später nach JSR-310 - oder sollte jemand warten, bis Java-8 verwendet werden kann, hencing ThreeTen Skipping?

+4

Eine Sache, die Sie nicht bekommen, ist die brdidge von der Date API - zum Beispiel in Java 8 können Sie 'new Date (...). ToInstant()' schreiben, aber Sie werden das in Java 7 nicht haben. Dies kann ein Problem für Ihren Anwendungsfall sein oder auch nicht. – assylias

+0

Ich denke, Antworten auf Fragen 3/4 würde stark davon abhängen, ** wie ** Sie Three Ten Backport API nutzen. Ich denke: wenn du vorsichtig bist; und versuche die Konsequenzen deiner Handlungen zu verstehen; Bemühungen für Q3 sollten minimal sein. – GhostCat

+0

Verwenden oder warten, oder - dritte Alternative - ** JODA ** Datum/Uhrzeit. Da die alten Klassen am besten vergessen werden, können Datum/Uhrzeit-Klassen unitestes getestet werden, Sie können für Backport + Unit Tests + Unit Tests unter Java 8 gehen. Das ist einfacher, angenehmer als ein späteres Neuschreiben. Auf der anderen Seite lohnt es sich? –

Antwort

7

Siehe dieses blog post.

ThreeTen-Backport ist ein solider Backport, der aus gleichwertigem Code für die Haupt-API besteht (allerdings nicht so gut für Nicht-ISO-Kalendersysteme). Um in Java 8 zu konvertieren, müssen Sie den Paketnamen ändern und einige Konstanten als Methodenreferenzen ändern.

Ich würde nicht empfehlen, von Joda-Time zu ThreeTen-Backport zu migrieren, aber empfehlen wir die Migration von Joda-Time nach Java 8 java.time.

+0

Ist es jetzt möglich, zu java.time zu migrieren? –

Verwandte Themen