我有2个不同的班级。一个是通用的valueHolder,可以包含任何扩展数字的内容。
class ValueHolder<T extends number>{
private T currentValue;
//more functions, database logic, etc...
}
另一个类更复杂,并且具有“ targetValue”。同样,其参数设置如下:
class MoreComplexClass<T extends ValueHolder<?>>
private T valueHolder;
private XXX requiredValue;
//a lot more functions.
}
是否可以将valueHolder的类型用于MoreComplexClass的requiredValue?
我要实现的目标是:Beeing能够将currentValue和requiredValue与> ==
最佳答案
答案是肯定的,您可以通过以下方式声明复杂的类:
class MoreComplexClass<N extends Number, T extends ValueHolder<N>>
private T valueHolder;
private N requiredValue;
//a lot more functions.
}
但是由于使用的是
Number
类,因此将无法使用这些运算符,因此需要使用XXXvalue()
中的doubleValue()
方法之一(即:longValue()
,Number
) >类即可使用这些运算符。关于java - 使用嵌入式泛型的泛型类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14317259/