Java编程思想

泛型方法之间的数据传递

2020-02-16  本文已影响0人  桐桑入梦

例子如下,使用了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之后的泛型推导功能。根据返回值推导传入的参数的类型。也可以这样写:


添加上泛型之后的方法调用,省区泛型推导
上一篇 下一篇

猜你喜欢

热点阅读