可以创建一个日历对象数组吗?
如果是,那么一个人怎么做?这段代码肯定会出错
Calendar cal[length];
//loop for initialising all the objects in cal[] array
如果不是,还有什么方法可以获得" n"日历对象的数量? 我需要这个用于重复闹钟,在不同的时间设置。
答案 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.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());
答案 2 :(得分:1)
日历cal [] =新日历[100];
答案 3 :(得分:0)
看看这个document site的Java。在那里你可以找到如何使用数组,这个例子非常有用。实际上,您只需要在您的情况下将int
更改为Calendar
。
答案 4 :(得分:0)
Calendar
是abstract
级。所以你应该用一些子类初始化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);
}