可以创建一组日历对象吗?
如果是,如何做到这一点?这段代码肯定会出错
Calendar cal[length];
//loop for initialising all the objects in cal[] array
如果不是,还有什么其他方法可以获取“n”个日历对象?我需要这个重复警报,设置在不同的时间。
你总能做到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
另一种方法是使用java.util.Timer
并java.util.TimerTask
安排重复警报:
Timer t = new Timer();
Calendar c = Calendar.getInstance();
t.schedule(
new TimerTask()
{
public void run()
{
System.out.println("alarm1");
}
},
c.getTime());
日历 cal[] = 新日历[100];
看看这个Java文档站点。在那里你可以找到如何使用数组,这个例子非常有用。实际上,您只需要根据您的情况将其更改int
为Calendar
。
Calendar
是abstract
类。所以你应该用一些子类来初始化Calendar
变量/数组,这不是抽象的。例如:
Calendar[] calendars = new Calendar[1];
calendars[0] = new GregorianCalendar();
在 Java 中创建数组的正确语法是:
日历[] cal = 新日历[长度];
然后您可以初始化各个元素。
可能更好的解决方案是使用这样的代码:
ArrayList<Calendar> list = new ArrayList<Calendar>();
现在使用循环逻辑:
Calendar cal = Calendar.getInstance();
使用 cal 设置值并将其添加到 ArrayList :)
这是因为它将赋予您动态添加/删除项目的能力。
Calendar[] calendars = new Calendar[length];
for (int i = 0; i < length; i++) {
calendars[i] = Calendar.getInstance();
}
new
在 Java 中,除非您使用关键字,否则不会分配对象。这与 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/数组.html
此外,在 Java 中,列表通常优先于数组使用,因为它们使用起来更方便,并且包含您很可能需要访问和操作的大多数函数。使用列表如下:
List<Calendar> calendars = new ArrayList<Calendar>();
for(int i=0; i<length; i++) {
calendars.add(myCalendar);
}