日历对象的数组

时间:2012-07-06 14:17:01

标签: java android

可以创建一个日历对象数组吗?

如果是,那么一个人怎么做?这段代码肯定会出错

Calendar cal[length];     
//loop for initialising all the objects in cal[] array

如果不是,还有什么方法可以获得" n"日历对象的数量? 我需要这个用于重复闹钟,在不同的时间设置。

9 个答案:

答案 0 :(得分:3)

您始终可以Calendar[] cal = new Calendar[length];

您也可以使用ArrayList,例如:

List<Calendar> list = new ArrayList<Calendar>();

然后有很多便利方法,例如add(Calendar calendar);

然后:

您可以使用for (int x = 0; x < list.size(); x++)

for (Calendar cal : list)

这对阵列也有效。在您内部使用getCalendar()new GregorianCalendar()或您需要的Calendar

答案 1 :(得分:2)

另一种方法是使用java.util.Timerjava.util.TimerTask来安排重复闹钟:

Timer t = new Timer();
Calendar c = Calendar.getInstance();

t.schedule(
    new TimerTask()
    {
        public void run()
        {
            System.out.println("alarm1");
        }
    },
    c.getTime());

答案 2 :(得分:1)

日历cal [] =新日历[100];

答案 3 :(得分:0)

看看这个document site的Java。在那里你可以找到如何使用数组,这个例子非常有用。实际上,您只需要在您的情况下将int更改为Calendar

答案 4 :(得分:0)

Calendarabstract级。所以你应该用一些子类初始化Calendar变量/数组,这不是抽象的。例如:

Calendar[] calendars = new Calendar[1];
calendars[0] = new GregorianCalendar();

答案 5 :(得分:0)

在Java中创建数组的正确语法是:

日历[] cal = new Calander [length];

然后你可以初始化各个元素。

答案 6 :(得分:0)

可能更好的解决方案是使用这样的代码:

ArrayList<Calendar> list = new ArrayList<Calendar>();

现在使用循环逻辑:

Calendar cal = Calendar.getInstance();

使用cal设置值&amp;将它添加到ArrayList:)

这是因为它可以让您动态添加/删除项目。

答案 7 :(得分:0)

    Calendar[] calendars = new Calendar[length];
    for (int i = 0; i < length; i++) {
        calendars[i] = Calendar.getInstance();
    }

答案 8 :(得分:0)

在Java中,除非使用new关键字,否则不会分配对象。这与C ++不同,其中new仅用于动态分配内存。要实现您的目标,请执行以下操作:

Calendar cal[] = new GregorianCalendar[length];

您可能会发现这些链接很有帮助: http://docs.oracle.com/javase/6/docs/api/java/util/Arrays.html http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html

此外,在Java中,列表通常优先于数组使用,因为它们使用起来更方便,并且包含了访问和操作最可能需要的大多数功能。使用List如下:

List<Calendar> calendars = new ArrayList<Calendar>();
for(int i=0; i<length; i++) {
    calendars.add(myCalendar);
}