map中key为啥一般情况是String类型
2018-01-24 15:41
288 查看
原因:
String 重写了 hashCode 和 equals 方法,所以我们可以非常愉快地使用 String 对象
作为 key 来使用。
这里来解释一下hasCode和equals方法:
1) 只要重写 equals ,就必须重写 hashCode 。
2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的
对象必须重写这两个方法。
3) 如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals 。
String 重写了 hashCode 和 equals 方法,所以我们可以非常愉快地使用 String 对象
作为 key 来使用。
这里来解释一下hasCode和equals方法:
1) 只要重写 equals ,就必须重写 hashCode 。
2) 因为 Set 存储的是不重复的对象,依据 hashCode 和 equals 进行判断,所以 Set 存储的
对象必须重写这两个方法。
3) 如果自定义对象作为 Map 的键,那么必须重写 hashCode 和 equals 。
相关文章推荐
- Util工具类 对map中含有String类型的日期key值的list进行排序
- Freemaker如何遍历key为non-string类型的map?
- C++ unordered_map 在key为string类型和char*类型时测试时间性能差异
- redis 数据类型——key String Set
- 关于set或map的key使用自定义类型的问题
- 如何判断Map中的key或value类型
- Map类型和String类型相互转化
- 引用类型传递参数的特殊情况(string)
- Java XML解析,,Node直接转为对象。考虑了一般的类,简单类型,数组,还未考虑List,Map
- 如何将一个String类型的数据转化为Map类型
- Java Map.get(key)类型判断空
- map以自定义类型当Key
- 把jsonString(为json对象)转为map,循环得到key,value
- fastJson如何序列化一个包含list对象的Map对象,如Map<String,List<T>>类型的对象
- Map和String类型之间的转换
- foreach属性-动态-mybatis中使用map类型参数,其中key为列名,value为列值
- java中string类型转换成map
- mybatis中使用map类型参数,其中key为列名,value为列值
- 统计map中key小于某类型变量的个数
- List<Map<String, Object>> 不同key值进行排序备忘