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

Sru*_*rai 2 java android calendar

我有两个名为asCalendar的变量 ,其中存储了一些日历值。calendar1calendar2

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

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

if(calendar1.MINUTE == calendar2.MINUTE)
Run Code Online (Sandbox Code Playgroud)

if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))
Run Code Online (Sandbox Code Playgroud)

提前致谢。

Gle*_*enn 5

calendar1.MINUTEstatic意味着您正在访问类的常量之一Calendar。这与 相同Calendar.MINUTE

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

当您调用时,calendar1.get()您需要传递要检索的日历字段,或者MINUTE, HOUR, MILLISECOND, YEAR, MONTH,DAY_OF_MONTH

关于这条线

if(calendar1.MINUTE == calendar2.MINUTE)
Run Code Online (Sandbox Code Playgroud)

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

第二行是正确的

if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))
Run Code Online (Sandbox Code Playgroud)