Java中Calendar类的实例化方式

西城xml 2017-10-29 12:14:12
public class Test03 {
public static void main(String[] args) {
//Calendar类的实例化方式
Calendar c1 = new GregorianCalendar();
System.out.println(c1);
Calendar c2 = Calendar.getInstance();
System.out.println(c2);
System.out.println(c1.equals(c2));//时而true时而false,why?
}
}


今天在学习Calendar类的过程中,测试了一下两种实例化方式,结果在比较两种实例化结果时,有时返回true有时返回false,请大神指点
...全文
602 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
西城xml 2017-10-29
  • 打赏
  • 举报
回复
明白了,谢谢大神。电脑是新买的Dell inspiron 7460
女王的大宝宝 2017-10-29
  • 打赏
  • 举报
回复
可以看下Calendar的equals方法源码,其中有一个return compareTo(getMillisof(that)) == 0 &&....., 这个比较的是毫秒值,当然下面还比较了其他东西,比如firstDayOfWeek和zone,你在同一个时区同一天,这些属性都是相同的,你电脑够快,一毫秒内能造两个对象,你就是true,如果不是在同一个毫秒的时间内造出来,就false了,顺便问下你什么配置,我两个对象产生的时间间隔是20多毫秒

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧