1
我有一個類別列表,其中一些有子類別。我需要使用枚舉實現這個層次結構。 我這樣做:具有枚舉的Java層次結構
public enum Type {
Category1(1, new LinkedHashMap<Integer, String>()),
Category2(2, getSubcategory2()),
Category3(3, getSubcategory3());
private final int id;
private final Map<Integer, String> subcategories;
Type(int id, Map<Integer, String subcategories) {
this.id = id;
this.subcategories = subcategories;
}
public int getId() {
return id;
}
public Map<Integer, String> getSubcategories() {
return subcategories;
}
}
我希望有一個更優雅的解決方案,因爲在這一刻,如果我想看看是否有類小類我必須驗證每次如果subcategories.size()> 0
更精美的解決方案到底是什麼?如果有幫助,你可以很容易地使用'hasSubcategories'方法返回'!subcategories.isEmpty()'。 –
注意,不能使用基元作爲泛型,它們不會編譯。你應該使用'new LinkedHashMap()'來代替。 –
這個'enum'究竟使用了多少? – gregor