我希望将一个通用类作为另一个通用类的类型参数。
最初,我的类定义是这样的:
class Foo<T, R extends BaseDto> {}
我的需求发生了变化,我必须使用一个包装类/持有者类来存储我的 R
类型。
目前为止我的尝试:(在 Bar<R>
上给出了编译时错误:需要类或接口)
class Bar<T extends BaseDto> {
private T dto;
public Bar(T dto) {
this.dto= dto;
}
// getters and setters
}
class Foo<T, Bar<R>> {
private T entity;
private R dto;
// getters and setters
}
我不能将其用作Foo<T, Object>
,因为这样使用此类的客户端将不知道他们实际上需要从Object
到Bar
的转换。
我应该如何实现这种行为?