1
我只想檢查這是不可能的/如果Java可以使用。我開始製作可用於有界字符串系列的Java版本的模板(即泛型類)。有什麼方法可以用Java在擴展中設置上限
public abstract class BoundedNameType<U extends Integer> extends NameType
{
private static final MAX_LEN = U;
private BoundedNameTypes(final String... parameters){
super(MAX_LEN, parameters);
}
}//BoundedNameType
其中父類使用U作爲MAX_LEN的值,例如,
public abstract class NameType
{
private NameType(final Integer u, final String... parameters){
this.maxLen = u;
}
}//NameType
也許去一個更好,使MAX_LEN是抽象的保護,所以我並不需要一個「MAXLEN」成員和最大值可以隨時靜態決賽。我的努力和閱讀表明,Java中的泛型只是類型的,所以它不應該工作。我已經把鏈接放下了,現在是時候使用聲明來做到這一點;我仍然想知道是否有更嚴格的泛型方法來做到這一點!?或者確定的答案是「否」。
參見:
- Java Generics Value.<SomeValue>
- How are Java generics different from C++ templates? Why can't I use int as a parameter?
U不是一個值,它是一種類型... – assylias