Java HashCode

在Java中,哈希码代表了对象的一种特征,例如我们判断某两个字符串是否==,如果其哈希码相等,则这两个字符串是相等的。其次,哈希码是一种数据结构的算法。常见的哈希码的算法有:
1:Object类的hashCode.返回对象的内存地址经过处理后的结构,由于每个对象的内存地址都不一样,所以哈希码也不一样。
2:String类的hashCode.根据String类包含的字符串的内容,根据一种特殊算法返回哈希码,只要字符串内容相同,返回的哈希码也相同。
3:Integer类,返回的哈希码就是Integer对象里所包含的那个整数的数值,例如Integer i1=new Integer(100),i1.hashCode的值就是100 。由此可见,2个一样大小的Integer对象,返回的哈希码也一样。

 

public class Test  
{  
     private int num;  
     private String data;  
   

     @Override
     public boolean equals(Object obj)  
     {  
        if(this == obj)  
             return true;  
        if((obj == null) || (obj.getClass() != this.getClass()))  
            return false;  
         // object must be Test at this point  
        Test test = (Test)obj;  
        return num == test.num &&  
        (data == test.data || (data != null && data.equals(test.data)));  
     }  
  
     @Override
    public int hashCode()  
    {  
        int hash = 7;  
        hash = 31 * hash + num;  
        hash = 31 * hash + (null == data ? 0 : data.hashCode());  
        return hash;  
     }  
  
    // other methods  
}     

 

 

//        Collections.sort(theSelectedColunm, new Comparator() {
// @Override
// public int compare(Object o1, Object o2) {
// JSONObject oj1 = JSONObject.fromObject(o1);
// JSONObject oj2 = JSONObject.fromObject(o2);
// return (oj2.getInt("orgId") - oj1.getInt("orgId"));
//
// }
// });

//     Collections.sort(jsonArray, new Comparator() {
// @Override
// public int compare(Object o1, Object o2) {
// JSONObject oj1 = (JSONObject) o1;
// JSONObject oj2 = (JSONObject) o2;
// return oj2.getInt("org_id") - oj1.getInt("org_id");
// }
// });

HttpResponseUtil.writeJson(vo.toJson(), getResponse());
posted @ 2017-09-25 10:05  音为  阅读(276)  评论(0编辑  收藏  举报