Set<String> set = new HashSet<>();为什么经常看见这么new对象,有什么优点?跟HashSet<String> set = new HashSet<>();这种方式比较呢?
1 回答
动漫人物
TA贡献1815条经验 获得超10个赞
个人感觉是关注点的问题
对于Set<String> set = new HashSet<>()
这种,实际上Set是一个接口,对于接口来说是不关注这个对象到底是什么,无论是HashSet,TreeSet还是其他的。是面向接口编程思想的体现。
好处是,如果有一天你发现这个位置用HashSet不合适,需要修改为带有排序功能的TreeSet,或者说需要改为线程安全的CopyOnWriteHashSet,只需要修改创建的方式就可以,不需要修改其他位置的代码了。
添加回答
举报
0/150
提交
取消