在使用這兩個類我發現,用於創建各個類別的對象 喜歡java中的GregorianCalendar類和Calendar類之間的區別?
GregorianCalendar today = new GregorianCalendar();
日曆今日= Calendar.getInstance();
爲什麼是這樣?相互使用的好處是什麼?
在使用這兩個類我發現,用於創建各個類別的對象 喜歡java中的GregorianCalendar類和Calendar類之間的區別?
GregorianCalendar today = new GregorianCalendar();
日曆今日= Calendar.getInstance();
爲什麼是這樣?相互使用的好處是什麼?
在大多數語言環境中,當您編寫Calendar.getInstance()
時,它將創建一個GregorianCalendar
對象。但有一些例外。您的區域設置可以設置爲給您JapaneseImperialCalendar
或BuddhistCalendar
。
如果您確實需要您的Calendar
爲GregorianCalendar
,那麼您可以明確寫入new GregorianCalendar()
。但通常認爲讓JVM根據語言環境選擇合適的Calendar
更好。也就是說,您應該編寫Calendar.getInstance()
,並準備好處理使用其他日曆類型之一的可能性。
Calendar
類的getInstance()
沒有邏輯返回其他類型的日曆之一,例如在伊朗或沙特阿拉伯使用的日曆。
Calendar類只不過是一個抽象類。讓它變得抽象的主要原因是世界上有多種類型的可用日曆。
日曆是一個抽象類。你需要一個實際的實現來獲取它的一個實例。 GregorianCalendar是[公曆日曆](https://en.wikipedia.org/wiki/Gregorian_calendar)的實施。 Calendar.getInstance()將根據語言環境返回GregorianCalendar,BuddhistCalendar或JapaneseImperialCalendar。 –
GregorianCalendar支持閏年,這意味着每4年你會在2月29日/ 2日獲得一天額外的一天 –