缓存应用中hashCode算法 (转)

缓存应用中hashCode算法 (转)
  1. public Class getType() {
  2. return type;
  3. }
  4. }

如上,CacheKey作为map的key要求具有唯一性,并且有一定地分散性,疑惑的地方是如何实现这样一个hashCode算法。考虑过通过CacheKey.key和CacheKey.type这两个属性的hashCode来算,比如key.hashCode()+type.hashCode()。属性CacheKey.type的hashCode算法大概是基于内存地址,但CacheKey.key的算法就不一定了,比如为Integer,就是取的int值,如果是String,也是根据字符串值来取得的,这样就可能出现重复值。请教一个好的办法

请使用浏览器的分享功能分享到微信等