立即注册 登录
Java教程网 返回首页

huasy的个人空间 http://java.662p.com/?3 [收藏] [复制] [分享] [RSS]

日志

为什么常用 Map<> map = new HashMap()

已有 21 次阅读2020-1-13 11:01 |个人分类:java|系统分类:基础开发| Map

在初学Java的时候,经常能看到教材上的写法,使用了接口Map来引用一个map,而不是它的具体实现,那么这样做的好处是什么呢?

<Effective Java>第52条:通过接口引用对象

作者认为,如果有合适的接口类型存在,那么对于参数、返回值、变量和域来说,就都应该使用就接口类型进行声明。

只有当你利用构造器创建某个对象的时候,才真正需要引用这个对象的类。

// 一个好的栗子

1
Map<Integer,String> map = new HashMap<>();

//一个不那么好的栗子

1
HashMap<Integer,String> map = new HashMap<>();

  

 

这样做的好处在于:你的程序会更灵活。当你决定更换实现的时候,所要做的就只是:改变构造器中类的名称。就比如:

Map<Integer,String> map = new TreeMap<>();

如果不这么做,在最早就使用了HashMap来声明了map,如果客户端在其他地方,使用了HashMap的操作,那么后续若改动了,则无法通过编译了。

 

总结:用接口引用对象会使程序更加灵活。


路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

站长推荐 上一条 /1 下一条

小黑屋|手机版|Archiver|Java教程网    

GMT+8, 2020-2-17 21:18 , Processed in 0.193207 second(s), 23 queries .

Powered by Discuz X3.2

© 2001-2013 JAVA教程网

返回顶部