java中泛型的一个小问题
最近做项目,由于java语法不是非常的熟悉,编写代码过程中不难遇到一些问题:
代码里写了一条这种语句:
Map<String, List<String>> configFileMap = new Map<String, List<String>>(); List<StubObject> configDirList = new List<StubObject>();
就会报这样的错误:(List那个报错和下面的类似)
Cannot instantiate the type Map<String,List<String>>
也就是:无法实例化这样的类型
原因:Java源代码中Map的定义,public abstract interface java.util.Map
是抽象接口,不能直接实例化,需要使用实现类
(图片来自,菜鸟教程)
根据途中的具体类的说明:
正确的代码应该这样写:
List<StubObject> configDirList = new ArrayList<StubObject>(); Map<String, List<String>> configFileMap = new HashMap<String, List<String>>();