参数类型为 A 或 B 的类

Enz*_*ion 3 java generics java-8

我试图用类型为 A 或 B 的类作为参数,仅此而已。

就像是

final class ChildClass<A | B> extends MotherClass {
Run Code Online (Sandbox Code Playgroud)

这样我就可以创建 aChildClass<A>或 aChildClass<B>但不能创建其他任何东西。

在Java中可以吗?


编辑:

我必须指定我正在使用 Java 8,并且我无法控制类 A 和 B(它们是我正在使用的 Android 框架的类)。

Tom*_*ský 5

不幸的是不是。搜索术语union types in javajava either type

Java 中联合类型最著名的情况是捕获多个异常,这是内置于语言中的,但是滥用您自己的类型的异常将是可怕的。

也是一个有趣的解决方法。