我的代碼是:如何在Java中使用泛型類型發起
class ReferenceRangeBuilder<T extends DvOrderedBuilder> {
private DvTextBuilder meaningBuilder;
private DvIntervalBuilder<T> rangeBuilder;
public ReferenceRangeBuilder() throws ClassNotFoundException, InstantiationException, IllegalAccessException {
}
}
我想發起rangeBuilder,這樣我可以設定值進去。 我想在構造函數裏面做。 爲DvIntervalBuilder rangeBuilder我做到了,如:
public DvIntervalBuilder() throws NoSuchFieldException, InstantiationException, IllegalAccessException, ClassNotFoundException {
ParameterizedType pt = (ParameterizedType) getClass().getGenericSuperclass();
// You may need this split or not, use logging to check
String parameterClassName = pt.getActualTypeArguments()[0].toString().split("\\s")[1];
T lower = (T) Class.forName(parameterClassName).newInstance();
T upper = (T) Class.forName(parameterClassName).newInstance();
}
你已經過寫的OP的變化有獅子。 – Zutty
@Zutty - 它剛剛回滾。 – Lion