首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >‘'Set =新Hashset’还是'HashSet =新哈希‘?

‘'Set =新Hashset’还是'HashSet =新哈希‘?
EN

Stack Overflow用户
提问于 2012-10-03 09:36:25
回答 1查看 3.2K关注 0票数 1

可能重复: 列表还是ArrayList变量类型?

在我的程序中,我正在降低HashSet的质量:

Set<String> namesFilter = new HashSet<String>();

如果我像这样初始化,这在功能上有什么不同吗?

HashSet<String> namesFilter = new HashSet<String>();

我读过关于集合接口的,我理解接口(除了这里使用它们)。我从有效的Java上读过这个节选,我读过这个问题,但是我觉得一点也不明智。

Java中有最佳实践吗?如果有,为什么?我的直觉是,在我的第一个示例中,它使转换到不同类型的Set更容易。但话又说回来,你只能把它转换成一个集合,你可以通过重新构造它来转换它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-03 09:41:58

我认为更好的做法是在具体类型上使用接口,即

代码语言:javascript
复制
Set<String> strings = new HashSet<String>();

通过这样做,您将只使用Set接口提供的功能。这样,如果您决定需要不同的性能特性(例如,如果您想使用TreeSet ),就可以更容易地交换您以后使用的集合,而不必担心代码中断。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12705707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档