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>>();

猜你喜欢

转载自www.cnblogs.com/yspworld/p/9122608.html
今日推荐