关于java泛型。Map m = new HashMap();

为什么经常是listl=newarraylist();Mapm=newHashMap();这种前后类不一样的,为什么不是arraylistl=newarraylist()... 为什么经常是list l=new arraylist();Map m = new HashMap(); 这种前后类不一样的,为什么不是arraylist l=new arraylist(); 或者list l=new list();??????? 展开
 我来答
dgqjava
2014-11-19 · TA获得超过265个赞
知道小有建树答主
回答量:147
采纳率:100%
帮助的人:59.2万
展开全部
首先list是一个接口 因此list = new list是错误的, 其次为什么是list = new arraylist而不用arraylist = new arraylist, 两种写法都能正确运行, 但是根据面向对象设计原则中的依赖倒转原则, 应该依赖接口而不应该依赖具体实现, 具体原因需要自己的经验积累慢慢体会
H胡楠
推荐于2016-11-03 · TA获得超过119个赞
知道小有建树答主
回答量:292
采纳率:100%
帮助的人:192万
展开全部
泛型在Map这里的意思是可以定义任意类型。
比如,Map<String> map=new HashMap<String>();
这个String可以换成任意的类型,Integer,Object等等,
还可以换成自己定义的类,比如
Map<Student> m=new HashMap<Student>();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
love王俐敏
2014-11-19
知道答主
回答量:12
采纳率:0%
帮助的人:3.6万
展开全部
List是接口,不是类,接口不能直接new
追问
我错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式