web-dev-qa-db-fra.com

Calendar.getInstance () ... question de base

Calendar.getInstance() Fonctionne-t-il comme un singleton normal dans le sens où si j'ai appelé getInstance ailleurs et réglé le jour, le mois, etc., alors si j'appelle Calendar.getInstance() quelque part Sinon, ces champs seront définis comme je les ai définis auparavant? En d'autres termes, si je veux que la fonction Calendar.getInstance() renvoie un objet Calendar avec l'heure et le jour actuels, etc., que dois-je faire? Appelez simplement clear()? Est-ce que cela réinitialise l'instance à l'heure actuelle, etc.?

Mes excuses si c'est une question stupide.

25
LuxuryMode

Non, Calendar.getInstance() ne renvoie pas d'instance singleton. Le point d'utilisation de getInstance() est qu'il tiendra compte des paramètres régionaux et du fuseau horaire par défaut lors du choix de l'implémentation du calendrier à retourner et de la manière de l'initialiser.

Vous n'avez donc rien à faire pour obtenir un deuxième calendrier avec l'heure actuelle, il vous suffit d'appeler à nouveau Calendar.getInstance().

50
aroth

En général, vous pouvez utiliser la documentation de l'API (voir source) pour des questions comme celle-ci. Dans la documentation de l'API:

La méthode getInstance de Calendar renvoie un objet Calendar dont les champs de calendrier ont été initialisés avec la date et l'heure actuelles:

     Calendar rightNow = Calendar.getInstance();

Source: http://download.Oracle.com/javase/1.5.0/docs/api/Java/util/Calendar.html

12
KyleM