我在使用泛型时仍然非常弱,我有一个问题: 根据以下方法,我想初步列出一个清单:
public <T extends Enum<T> & AnyInterface> boolean getIsDescSort(Class<T> tableSortEnum) {
return tableSortEnum.getName().endsWith(DESC_SUFFIX);
}
是否(通常)可以使用这些类型的对象准确初始化List?换句话说:我可以用这些信息输入我的列表吗?实现某种界面的枚举?
List<T extends Enum<T> & AnyInterface> myList;
在我的Eclipse IDE中向我展示了几个错误,所以我认为它不会编译。 我读了一些关于这个的文章,但是如果在初始化集合时甚至允许/可能的话,我也不会得到......
答案 0 :(得分:2)
你试图在错误的地方打字。例如,以下将正常工作
public class Foo<T extends Enum<T> & AnyInterface> {
private List<T> foo;
}
这将是
public static <T extends Enum<T> & AnyInterface> List<T> foo(Class<T> clazz) {
ArrayList<T> foo = new ArrayList<>();
return foo;
}