Calendar.getInstance()
でとる。このgetInstalnce()
だけで、勝手にシングルトンだと思っていた。実際は Factory Method パターン でした。ソースコードを見ると
Calendar#getInstance()
-> Calendar#createCalendar(TimeZone zone, Locale aLocale)
で言語、国なんかを判別して- new sun.util.BuddhistCalendar(zone, aLocale);
- new JapaneseImperialCalendar(zone, aLocale);
- new GregorianCalendar(zone, aLocale);
シングルトンだと思っていたから、 Calendar#add() とかして、アプリで使う Calendar インスタンスの時間ずれたらどうしようとか今更心配した・・・。大丈夫だった・・・。