作为Java的新手,我发现为我的目的提出一个简洁的代码有点困难。
问题是,
class ElementID {
String name = "";
String value = "";
public ElementID (String name, String value) {
this.name = name;
this.value = value;
}
}
class HeaderID {
String ID = "";
Date cal;
ElementID[] elementID;
public HeaderID (String ID, Calender cal, ElementID[] elemID) {
this.ID = ID;
this.cal = cal;
this.elementID = elemID;
}
}
现在在函数内的另一个类中,我需要实例化HeaderID类。
这就是我到目前为止所做的,但它并没有奏效。我们面临的问题是创建一个ElementID单个数组。
ElementID[] e = new ElementID[1];
e[0] = new ElementID("NAME", "VALUE");
// Error at this line
HeaderID ht = new HeaderID("ID", new Date(), e);
答案 0 :(得分:3)
您无法直接从Date
投射到Calendar
:
你宣布:
public HeaderID (String ID, Calender cal, ElementID[] elemID) {
你试着打电话:
HeaderID ht = new HeaderID("ID", new Date(), e); //Error at this line
// ^ this is expecting a Calendar Instance
选项A:您可以更改声明
public HeaderID (String ID, Date date, ElementID[] elemID) {
如果您这样做,请使用您的实际通话:
HeaderID ht = new HeaderID("ID", new Date(), e);
选项B :更改发送到实际声明的内容:
// create new calendar instance
Calendar cal = Calendar.getInstance();
// put desired Date
cal.setTime(new Date());
// make call with correct variable types
HeaderID ht = new HeaderID("ID", cal, e);