我有两个Calendar变量,名为calendar1和calendar2,其中存储了一些Calendar值。
我想比较一下这些变量的MINUTE值。
我找到了两种方法,但我想知道有什么不同,哪一种是正确的。
if(calendar1.MINUTE == calendar2.MINUTE)和
if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))非常感谢。
发布于 2015-10-24 08:53:49
calendar1.MINUTE表示您正在访问Calendar类的static常量之一。这和Calendar.MINUTE是一样的。
不应该使用对象访问常量字段(例如cal宪兵1.对联an )。
调用calendar1.get()时,需要传递要检索的日历字段,包括MINUTE、HOUR、MILLISECOND、YEAR、MONTH、DAY_OF_MONTH
关于这条线
if(calendar1.MINUTE == calendar2.MINUTE)您只是比较这两个常量,这将始终返回true
第二行是对的。
if(calendar1.get(Calendar.MINUTE) == calendar2.get(Calendar.MINUTE))发布于 2015-10-24 08:33:31
MINUTE将分钟数作为int :例如g返回(13:04 ->分钟为4)
get(int field) ->首先调用complete(),在计算字段值后返回给定字段的值。
complete() ->computes字段中的时间(如果时间尚未设置)。
发布于 2015-10-24 08:56:31
好的,这是你问题的答案。
Calender.MINUTE:-给出没有零的分钟。如果会议记录在1到9之间。
例句:我有时间在我的设备上12:09,但它的时间是12:9
cal.MINUTE:-,这是用于日历方法调用的静态最终整数。
从实例化对象调用静态成员是错误的做法。
因此,通过cal.get(Calendar.MINUTE);获得正确值的最佳方法。
https://stackoverflow.com/questions/33316105
复制相似问题