java4android第四十五集hashcode()与tostring()

来源:互联网 发布:图片批量下载软件 编辑:程序博客网 时间:2024/04/30 18:44
本集主要内容.  
  1. hashCode()的作用
  2. hashCode()的实现方法.
  3. toString()的作用
  4. toString()的实现方法.


   hash算法 (哈希算法)                 
          
   所有的类都拥有hashCode()方法.都是object里面的.
   hascCode()广泛用于类型框架.
     
   java当中的toString()函数。供开发者调试使用
   User u = new User();

   System.out.println(u);  

 

    它通常只是为了方便输出,比如System.out.println(xx),括号里面的“xx”如果不是String类型的话,就自动调用xx的toString()方法总而言之,它只是sun公司开发java的时候为了方便所有类的字符串操作而特意加入的一个方法

   

class User{ String name; int    age;  public User(String name , int age){ this.name = name; this.age  = age; }  public boolean equals(Object obj){ if(this == obj){ return true; }  boolean b = obj instanceof User; if(b){ User u = (User)obj; if(this.age == u.age && this.name.equals(u.name)){ return true; } else{ return false; } } else{ return false; } }  public int hashCode(){ int result = 17; result  = 31*result + age; result  = 31*result + name.hashCode();  return result;}public String toString(){String result = "";//不加这行也行,下一行的result也可以省略result = result + "age:" +age +"," +"name:"+name;return result;}}

import java.util.*;class Test{public static void main(String args[]){User u = new User("zhangsan",20);//HashMap<User,String> map = new HashMap<User,String>();//map.put(u,"abc");//String s = map.get(new User("zhangsan",12));//System.out.println(s);System.out.println(u);}}

不必熟练记忆,因为eclispe可以帮助复写这些函数

0 0
原创粉丝点击