首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >静态导入日历对象数组(无法初始化)

静态导入日历对象数组(无法初始化)
EN

Stack Overflow用户
提问于 2012-07-28 08:38:38
回答 3查看 550关注 0票数 0

我需要在我的程序中维护一些日期,我正在以Calendar对象数组的形式进行维护。

为了从其他几个类访问它,我计划在一个单独的类中声明它,并将数组导入为一个静态导入。

现在,我如何为每个对象设置值?我能够初始化它们并从其他类访问它们,如下所示:

代码语言:javascript
运行
复制
public static Calendar[] cal = new Calendar[]{
                                    Calendar.getInstance(),
                                    Calendar.getInstance()};

现在,我如何为它们设置值?

我尝试了Calendar.getInstance().set(2012, 11, 10, 16, 30),但是我得到了一个错误,没有任何建议。

所以,

  1. 静态导入是正确的(或最好的)方法吗?
  2. 我如何设置它的价值?
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-28 08:44:00

静态导入部分无关紧要,尽管坦率地说,拥有一个可公开访问的可变对象数组(日历)的可写字段并不太好。更好的方法是使用番石榴( ImmutableList )和Joda时间 ( DateTime )公开一个DateTime。(或者可能是LocalDateTime)无论如何.

您可以使用静态初始化程序块,但我可能只需要编写一个方法:

代码语言:javascript
运行
复制
public static Calendar[] cal = createCalendars();

private static Calendar[] createCalendars() {
    Calendar[] ret = new Calendar[2];
    ret[0] = Calendar.getInstance();
    ret[0].set(2012, 11, 10, 16, 30);
    ret[1] = Calendar.getInstance();
    ret[1].set(...);
    return ret;
}
票数 4
EN

Stack Overflow用户

发布于 2012-07-28 09:42:36

这可能不适合你的口味,但无可否认,这是一种相当简洁的方法:

代码语言:javascript
运行
复制
public static final Calendar[] cal = createCal(
    2012, 11, 10, 16, 30,
    2012, 11, 11, 16, 30,
    2012, 11, 12, 16, 30
);
static Calendar[] createCal(int... fields) {
  final List<Calendar> cl = new ArrayList<Calendar>();
  for (int i = 0; i < fields.length;) {
    final Calendar c = Calendar.getInstance();
    c.set(fields[i++], fields[i++], fields[i++], fields[i++], fields[i++]);
    cl.add(c);
  }
  return cl.toArray(new Calendar[cl.size()]);
}
票数 1
EN

Stack Overflow用户

发布于 2012-07-28 09:47:24

只是FYI,价值:

Calendar.getInstance().set(2012、11、10、16、30)

setvoid返回的值。所以你不能初始化

日历cal = Calendar.getInstance().set(2012、11、10、16、30)

见Jon &Marko的更完整的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11699513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档