Calendrier.getInstance()... question de base
Ne Calendar.getInstance(
) le travail comme un singleton dans le sens que si je l'ai appelé getInstance
quelque part d'autre et régler le jour, le mois, etc, alors si je l'appelle Calendar.getInstance()
ailleurs ces champs seront mis à tout ce que j'ai mis avant? En d'autres termes, si je veux le Calendar.getInstance()
retour d'un Calendar
objet avec l'heure et la date, etc, que dois-je faire? Appelez simplement clear()
? Le fait de réinitialiser l'instance à l'heure actuelle, etc?
Toutes mes excuses si ce est une question stupide.
- Essayez et voyez ce qui se passe. Tout ce que vous avez à faire est d'obtenir une instance et l'affichage de l'objet. Ensuite, vous pouvez dormir pendant quelques secondes. Ensuite, vous obtenez l'instance de nouveau et l'affichage de la valeur et de voir si elles sont identiques ou différents.
Vous devez vous connecter pour publier un commentaire.
Non,
Calendar.getInstance()
n'est pas de retourner une instance du singleton. Le point de l'utilisation degetInstance()
est qu'il faudra les paramètres régionaux par défaut et fuseau horaire en compte au moment de décider quel Calendrier de mise en œuvre de revenir et comment l'initialiser.De sorte que vous n'avez pas besoin de faire quelque chose pour obtenir un deuxième Calendrier à l'heure actuelle, il suffit d'appeler
Calendar.getInstance()
de nouveau.clear()
je me de retour le 1er janvier 1970, ce qui n'est pas ce que je veux évidemment 😉 Merci encore.Calendar
classe dispose de ses propres implémentations deequals()
ethashCode()
que traiter les deux instances qui se réfèrent au même moment dans le temps comme des "égaux". Ce n'est pas la même chose qu'un singleton. Si un singleton ont été utilisés,Calendar.getInstance() == Calendar.getInstance()
permettrait d'évaluer àtrue
. Si vous l'essayez, vous verrez que la déclaration évalue àfalse
.En général, vous pouvez utiliser la documentation de l'API (voir la source) pour des questions de ce genre. À partir de la documentation de l'API:
Source:
http://download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html