可能重复:
List 与 ArrayList 变量类型?
我HashSet
在我的程序中初始化了一个这样的:
Set<String> namesFilter = new HashSet<String>();
如果我像这样初始化,这在功能上有什么不同吗?
HashSet<String> namesFilter = new HashSet<String>();
我已经阅读了关于集合接口的这篇文章,并且我了解接口(嗯,除了它们在这里的使用)。我读过这段来自 Effective Java 的摘录,也读过这个 SO question,但我觉得一点也不聪明。
Java 中是否有最佳实践,如果有,为什么?Set
我的直觉是,在我的第一个示例中,它使转换为不同类型的内容变得更容易。但是话又说回来,你只会转换为一个集合,你可以通过重新构建它来转换它。