如何将泛型类型绑定到层次结构中几乎完全分离的2种类型

Hoo*_*lum 1 java generics types class hierarchy

我该怎么做呢?因为你只能扩展一个类,所以它只能有一个上限.

在我的情况下,我需要泛型类型以String和int为界.如果我使用Integer包装而不是int并依赖自动装箱,我可以做到但问题是其他类也可以作为类型参数传递.

最好的方法是什么?

Ale*_*ien 5

您可以使用集合的非泛型变体(例如List),或者更清晰地List<Object>显示代码的意图.
将其包装在MyList类中,并为要支持的每种类型创建add(),get()方法:

add(Integer elem);
add(String elem);
Run Code Online (Sandbox Code Playgroud)

但是对象get()不能打字,这样才有意义.

所以最后你也可以使用Object with List,并省略包装器.