[英]Define an array object in java
我找到了一個對我有用的類聲明,但是我想知道是否可以將此類寫得更“簡短”:
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()
調用父類的構造函數 。 如果跳過此步驟,Java將自動調用默認構造函數(不帶參數),因此您可以在示例中跳過此行。
數組的長度應提前聲明。 如果這是一個問題,則應改用ArrayList之類的容器。 ArrayList
將在需要時自動調整大小。
至於多次提到這些字段,Java只是很冗長。
您提供的示例實現了Comparable
,只有在您想要比較數據對象時(例如,使用比較器將“ Obj A”大於“ Obj B”時才需要)。 您不需要構造函數。 它僅存在以確保元素被初始化。 否則,您可能最終會遇到NullPointerExceptions並且無法進行比較。
這個例子很“安全”,可以防止某些問題。
如果只需要一個“列表”,則可以使用ArrayList<Data>
或其他List
選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.