例子如下,使用了Arrays.asList()和Collections.unmodifiableList()两个方法。
public static final List<Class<? extends Pet>> allTypes =
Collections.unmodifiableList(Arrays.asList(
Pet.class,Dog.class,Cat.class,Rodent.class,Mutt.class,Pug.class,
EgyptianMau.class,Manx.class,Cymric.class,Rat.class,Mouse.class,
Hamster.class
));
public static <T> List<T> asList(T... a) {
return new ArrayList<>(a);
}
public static <T> List<T> unmodifiableList(List<? extends T> list) {
return (list instanceof RandomAccess ?
new UnmodifiableRandomAccessList<>(list) :
new UnmodifiableList<>(list));
}
实际上,因为使用了java7之后的泛型推导功能。根据返回值推导传入的参数的类型。也可以这样写:
添加上泛型之后的方法调用,省区泛型推导
网友评论