泛型问题

fas*_*ava 0 java generics interface

我有以下声明:

    List<List<String>> myList  = new ArrayList<ArrayList<String>>();

    List<ArrayList<String>> myList  = new ArrayList<ArrayList<String>>();
Run Code Online (Sandbox Code Playgroud)

第一个给出编译错误.我们不应该编码接口吗?在这里,我被迫按类而不是接口进行编码.这是一个泛型失败,还是我理解错了?

mar*_*eno 5

它应该是:

List<List<String>> myList = new ArrayList<List<String>>();
Run Code Online (Sandbox Code Playgroud)

您需要传入类型,它可以是ArrayList构造函数的接口.换句话说,你想要一个ArrayList包含类型对象的东西List<String>.然后当你实际把东西放入列表时:

mList.add(new ArrayList<String>());
Run Code Online (Sandbox Code Playgroud)