Je souhaite créer une classe Java avec des méthodes statiques thread-safe pour analyser les dates. Je comprends que certaines classes de date Java 7 (et antérieures) ne sont pas thread-safe. Quelle est la meilleure mise en œuvre de thread-safe en Java 8 de cette fonctionnalité:Java 8 meilleur moyen d'analyser la date du texte en timestamp milliseconde
String text = "5/16/2008";
long timestamp = DateUtil.getTimestamp(text);
En Java 7 et plus tôt, vous feriez ceci:
public class DateUtil {
public static long getTimestamp(String text) {
DateFormat df = new SimpleDateFormat("M/d/yyyy");
df.setTimeZone(TimeZone.getTimeZone("America/New_York"));
long timestamp = df.parse(text).getTime();
return timestamp;
}
}
Mais au lieu de créer une nouvelle instance de DateFormat
pour chaque appel, je veux partager une seule instance statique pour tous les appels à cette méthode getTimestamp
statique. Ma compréhension est que ce n'est pas thread-safe.
Une exigence clé est que le texte que je veux analyser a une date courte comme "5/16/2008" sans la résolution HH: mm: ss.
Je ne veux pas non plus utiliser une bibliothèque tierce comme Joda-Time, mais plutôt des classes Java 8 standard.
La bibliothèque Joda-Time tierce a été (principalement) transformée en classes Java 8 standard dans les paquets 'java.time. *'. –