Calendrier.getInstance () ... question de base

Calendar.getInstance() fonctionne-t-il comme un singleton régulier dans le sens où si j'ai appelé getInstance ailleurs et défini le jour, le mois, etc. alors si j'appelle Calendar.getInstance() ailleurs, ces champs seront définis sur ce que je les ai définis auparavant? En d'autres termes, si je veux que le Calendar.getInstance() retourne un objet Calendar avec l'heure et le jour actuels, etc., Que dois-je faire? Il suffit d'appeler clear()? Est-ce que cela réinitialise l'instance à l'heure actuelle, etc?

Mes excuses si c'est une question stupide.

24
demandé sur LuxuryMode 2011-08-08 03:28:25

2 réponses

Non, Calendar.getInstance() ne renvoie pas une instance singleton. Le point d'utiliser getInstance() est qu'il prendra en compte les paramètres régionaux et le fuseau horaire par défaut au moment de décider quelle implémentation de calendrier renvoyer et comment l'initialiser.

Donc, vous n'avez rien à faire pour obtenir un deuxième calendrier avec l'heure actuelle, appelez simplement Calendar.getInstance() à nouveau.

48
répondu aroth 2017-04-03 11:54:27

Généralement, vous pouvez utiliser la documentation de L'API (voir source) pour des questions comme celle-ci. À partir de la documentation de L'API:

La méthode getInstance de

Calendar renvoie un objet Calendar dont le calendrier les champs 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
répondu KyleM 2011-08-07 23:35:15