【发布时间】:2011-01-30 17:42:51
【问题描述】:
我遇到了内部类的问题。我构建了一个对象(比如火车),其内部类表示状态(比如火车的停靠点)。
我正在尝试运行此代码:
private void CustomObjectBuilder (String [] origin) {
final int array_dim = origin.length;
InnerCustomObject[] tmp_bin = new InnerCustomObject[array_dim];
for (int ii = 0; ii < array_dim; ii++) {
String debug = extractData(origin[ii]);
tmp_bin[ii].setData(debug);
}
}
它编译得很好,但在运行时我得到一个空对象异常。
我做错了什么?
这里可以找到原代码:
public class CustomObject {
InnerCustomObject [] stops;
public class InnerCustomObject {
String name, station, schedTime, depTime, schedRail, depRail;
public void setData (String origin) {
this.station = origin;
}
}
}
编辑:我通过调用解决了
CustomObject.InnerCustomObject ico = new CustomObject(). new InnerCustomObject();
为什么需要如此冗长?
【问题讨论】:
标签: java arrays inner-classes