这两个调用的区别是什么:
Set<Record> instances = new HashSet<Record>(); - on one hand
HashSet<Record> instances = new HashSet<Record>(); - on other hand发布于 2014-05-29 00:37:56
在第一种情况下,您可以将instances重新分配给Set<Record>的任何子类型的实例。在第二种情况下,您只能将instances重新分配给HashSet<Record>的子类型的实例。
发布于 2014-05-29 00:38:09
HashSet实现了接口Set。这两个语句将HashSet存储在变量实例中(没有区别,两个语句存储相同的数据)。
但是,第一条语句将HashSet存储在Set中。这有一些好处,例如,您可以将HashSet更改为TreeSet,而无需更改其他代码。
https://stackoverflow.com/questions/23917253
复制相似问题