我们可以指定什么类型K的HashMap<K,V>?它只是数字类型(int,float)还是我们可以分配用户定义的对象?
Joa*_*uer 10
您可以使用任何类型,只要它具有理智equals()和hashCode()实现.
严格来说:您可以使用任何引用类型,但如果类型没有这些方法的合理实现,它将无法按预期工作.
请注意,您不能使用原始类型(int,float,...),但可以使用它们的包装类型,而不是(Integer,Float,...).这是因为泛型只能处理引用类型.
您可以使用用户定义的对象,但最好在这些类中明确定义hashCode和equals方法.
您不能使用int或float因为它们是不是从Object超类派生的基本类型(它提供了hashCode()和的默认实现 equals()).如果确实需要使用整数或浮点数,则需要使用它们的对象包装类Integer和Float
| 归档时间: |
|
| 查看次数: |
462 次 |
| 最近记录: |