调用泛型方法时指定泛型的类型

前言

这篇文章的废话不多,因为我也没有想好怎么把这个问题描述清楚,所以就直接上了代码。

正文

public class Demo {

    public static void main(String[] args) {

        Bag bag = new Bag();
        List list = bag.<Book>take();
        // 编译报错
        list.get(0).getName();

        List<Book> list1 = bag.take();
        list1.get(0).getName();

        bag.<Book>take().get(0).getName();

    }
}

class Bag {

    public <V> List<V> take() {
        return new ArrayList<>();
    }

}

class Book {

    private String name;

    public String getName() {
        return name;
    }
}

注意思考编译报错的那一行代码

得益于大佬的指教

posted on 2021-03-12 19:34  斜月三星一太阳  阅读(477)  评论(0编辑  收藏  举报