我有以下 Java 泛型问题
我有以下通用类,可以概括为:
public class MyClass<T> {
AnotherClass<T> another;
OtherClass<T> other;
...
}
where...代表与案例无关的代码。
对于类MyClass<T>来说,哪个确切类型T(截至目前)并不重要,但对于两者来说:
AnotherClass<T>
OtherClass<T>
是绝对关键的是什么泛型类型和决定在运行时将在该基地进行。
基于此,类型T不是完全任意的,它可以是类层次结构的实例,也可以是类T_1层次结构T_2。
根据类的定义,该类型T等效于Object但我知道它等效于T_1或T_2
实体之间没有业务关系T_1,T_2因此我不做:
public interface BaseT { ... }
public class T_1 implements BaseT { ... }
public class T_2 implements BaseT { ... }
public class MyClass<T extends BaseT>
如果它们不相关,为什么要使用泛型的说明:
我确定,因为即使他们是不相关的显式(试图)泛型类两种,还有是因为既有隐含关系T_1,并 T_2能够而且将会出现关联到代表的实体MyClass
T将是同样的MyClass,AnotherClass并且OtherClass因此,在一个实例只会有两种T_1或T_2但从来没有同时在同一时间。
我的问题是,我有一个选择呢,这里比其他设计为一个接口
MyClass,并实现它都T_1和T_2?我可以实现类似的目标
MyClass<T extends T_1 or T_2>吗?
亲切的问候
慕姐4208626
HUX布斯
哈士奇WWW
随时随地看视频慕课网APP
相关分类