当前位置: 代码迷 >> Android >> Android中calendar.MINUTE和calendar.get(Calendar.MINUTE)之间的区别
  详细解决方案

Android中calendar.MINUTE和calendar.get(Calendar.MINUTE)之间的区别

热度:84   发布时间:2023-08-04 11:41:09.0

我有两个名为calendar1calendar2 Calendar变量,其中存储了一些Calendar值。

我想比较这些变量的MINUTE值。

我找到了两种方法,但是我想知道有什么区别,哪种是正确的。

if(calendar1.MINUTE == calendar2.MINUTE)

if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))

非常感谢。

calendar1.MINUTE表示您正在访问Calendar类的static常量之一。 这与Calendar.MINUTE相同。

不应使用对象(例如calendar1.MINUTE)访问常量字段。

当您调用calendar1.get()您需要传递要检索的日历字段,即MINUTEHOURMILLISECONDYEARMONTHDAY_OF_MONTH

关于这条线

if(calendar1.MINUTE == calendar2.MINUTE)

您只是比较两个常量,这将始终返回true

第二行是正确的

if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))

MINUTE以整数形式返回分钟数:EG(13:04-> MINUTE为4)

get(int field) ->通过首先调用complete()计算字段值之后,返回给定字段的值。

如果尚未设置时间,则complete() ->从字段中计算时间。

好的,这是您的问题的答案。

Calender.MINUTE:-它给出的分钟数不为零。 分钟数在1到9之间。

例如:我有时间在我的设备上12:09,但时间为12:9

cal.MINUTE:-这是一个静态最终Integer,用于Calendar方法调用。

从实例化对象中调用静态成员是一种不好的做法。

因此,最好的方法是通过cal.get(Calendar.MINUTE);获得正确的值cal.get(Calendar.MINUTE);

  相关解决方案