日期:2014-05-20  浏览次数:20645 次

请教一个日历类中有关Calendar.MINUTE静态常量的问题??
请问大家:
Calendar.MINUTE是静态常量,我用它的子类java.util.GregorianCalendar得到当前时间:
                  java.util.Calendar   calendar   =   new   java.util.GregorianCalendar();
hour   =   calendar.get(Calendar.HOUR);
minute   =   calendar.get(Calendar.MINUTE);
second   =   calendar.get(Calendar.SECOND);
Calendar.HOUR常量不是不能修改吗?每个当前时间应该是不一样的吧,而且这个变量属于类的,如果定义对象这个变量也不能改变吧。请问这是怎么回事啊?求大家赐教!!

------解决方案--------------------
============================================================
Calendar.HOUR常量不是不能修改吗?每个当前时间应该是不一样的吧,而且这个变量属于类的,如果定义对象这个变量也不能改变吧。
============================================================
Calendar.HOUR是一個final static變量,當然是不能修改的.
每個當前時間也是不一樣的;

------------------------------------------------
hour = calendar.get(Calendar.HOUR);
minute = calendar.get(Calendar.MINUTE);
second = calendar.get(Calendar.SECOND);
------------------------------------------------
hour,minute,second返回的當然都不相同,calendar.get(Calendar.HOUR)不等於Calendar.HOUR,看看Calendar 的int get(int field)的代碼


------解决方案--------------------
hour = calendar.get(Calendar.HOUR);中的Calendar.HOUR相当于一个字段名,或者说是Map中的一个key的名称,这个Calendar.HOUR的值是不能改的,如果改了calendar.get(Calendar.HOUR)取出的值则会不同。