Calendar.getInstance()...基本问题

Lux*_*ode 25 java calendar

是否Calendar.getInstance(像常规单身人士那样工作,如果我在getInstance其他地方打电话 并设定日,月等等,那么如果我在Calendar.getInstance()其他地方打电话,那些字段将被设置为我之前设置的任何字段?换句话说,如果我想要Calendar.getInstance()返回Calendar当前时间和日期等对象,我需要做什么?打电话clear()?是否将实例重置为当前时间等?

如果这是一个愚蠢的问题,我道歉.

aro*_*oth 50

不,Calendar.getInstance()不返回单例实例.使用的关键getInstance()是在决定返回哪个Calendar实现以及如何初始化它时,会考虑默认的语言环境和时区.

因此,您无需执行任何操作即可获得当前时间的第二个日历,只需Calendar.getInstance()再次调用即可.

  • @camickr学习如何使用API​​文档是一项宝贵的技能,但我认为并不值得帮助某人...... (26认同)
  • @camickr - 在专门讨论该主题的公共论坛中提出您的问题是一种有效的解决问题的方式.也许它并不像你想要的那样独立和自立,但如果LuxuryMode选择在这里问他的问题,而像我和KyleM这样的人愿意选择回答,那么最重要的是什么呢? (3认同)
  • @bluelurker - [源代码](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Calendar.java#Calendar.equals% 28java.lang.Object%29)是提供信息的.`Calendar`类提供了自己的`equals()`和`hashCode()`实现,它们将同一时刻引用的两个实例视为'相等'.这与单身人士不同.如果使用单例,那么`Calendar.getInstance()== Calendar.getInstance()`将计算为"true".如果您尝试它,您会发现该语句的计算结果为"false". (2认同)

Kyl*_*leM 12

通常,您可以使用API​​文档(请参阅源代码)来解决此类问题.从API文档:

Calendar的getInstance方法返回一个Calendar对象,其日历字段已使用当前日期和时间进行初始化:

     Calendar rightNow = Calendar.getInstance();
Run Code Online (Sandbox Code Playgroud)

资料来源:http: //download.oracle.com/javase/1.5.0/docs/api/java/util/Calendar.html

  • @camickr:KyleM给出了一个完美的例子,展示了API文档是如何有用的.你不认为这有助于教你为什么要参考API文档吗? (7认同)
  • @camickr谁在乎?你是StackOverflow警察我是对的吗?OP问了一个问题,我很乐意给出答案.也许OP下次会使用API​​文档,因为他看到了我获取信息的地方. (7认同)