我找到了一个适合我的类声明,但我想知道这个类是否可以写得更“短”:
public class Data implements Comparable <Data>{
public Data (int category, String quality, String title ) {
super();
this.category = category;
this.quality = quality;
this.title = title;
}
int category;
String quality;
String title;
@Override
public int compareTo(Data d) {
return this.getDuration_value() - (d.getDuration_value());
}
}
为什么我要这么频繁地提到“类别、质量和标题”?为什么是“super()”?我想把它短一点。我找到了其他解释,但没有找到这种“复杂的结构”。
“数据”由这些行给出,我希望不必提前声明数组的长度:
Data[] myDataArray = {
new Data(0, // category "0"
"***", // quality
"MyTitle1") // title
new Data(0, // same category "0"
"**", // quality
"MyTitle2") // title
}
最佳答案
super()
invokes the parent class constructor 。如果您跳过此行,Java 将自动调用默认构造函数(不带参数),因此您可以在示例中跳过此行。
数组的长度需要提前声明。如果这是一个问题,您应该使用诸如 ArrayList 之类的容器。反而。 ArrayList
将在需要时自动调整大小。
至于多次提及字段,Java 就是这么冗长。
关于java - java中定义一个数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27012815/