簡體   English   中英

java中多個類的泛型類型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM