[英]generic Type of multiple classes in java
如何實現將一個類的泛型類型綁定到多個類? 一個例子是 Number 和 Boolean 的子類。
如果我正確理解您的問題,其中一種選擇是創建額外的類枚舉類,實例數量有限:
public final class ValueType<T> {
public static final ValueType<Boolean> BOOLEAN = new ValueType<>(Boolean.class);
public static final ValueType<Integer> INTEGER = new ValueType<>(Integer.class);
private final Class<T> clazz;
private ValueType(Class<T> clazz) {
this.clazz = clazz;
}
public Class<T> getType() {
return clazz;
}
}
現在你的類可以這樣聲明:
public class MyClass<T> {
public MyClass(ValueType<T> type) {
Class<T> clazz = type.getType();
}
}
所以你可以像這樣實例化它
MyClass<Boolean> c = new MyClass<>(ValueType.BOOLEAN);
或者
MyClass<Integer> c = new MyClass<>(ValueType.INTEGER);
但是您沒有其他選擇,因為您沒有其他ValueType
對象。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.