首页 > 学院 > 开发设计 > 正文

hashCode()和toString()

2019-11-14 21:56:45
字体:
来源:转载
供稿:网友
hashCode()和toString()

hashCode函数和toString函数也在Object类中,同样,所有的类都继承了这2个函数。

hashCode函数用于生成哈希码,没有参数,返回值为整型

把u的值作为键存入map中,使用get方法传入的键值和u的值是一样的,但结果却为null。因为map并不是根据传入的键去进行一一比较来配对,而是通过计算对象的hashcode来判断在HashMap中有没有存在相应的值。此处调用的是默认的hashCode方法,对于内存中不同的对象生成的哈希码是不一样的,但从逻辑上来说,如果两个对象使用equals函数相比较是相等的,那么这两个对象调用hashCode生成的哈希码应该是相等的,根据这一原则来复写hashCode函数。

public int hashCode(){int result =17;result = 31 * result +age;result = 31 * result +name.hashCode();return result;}

toString函数用于把一个对象转换成字符串,了解对象内部情况,使程序拥有更好的可读性。复写toString函数:

public String toString(){String result = "age:" + age + "," + "name:" + name;return result;}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表