- 源代码长什么样?
public String toString(){ return getClass().getName() + '@' + Integer.toHexString(hashCode()); } 源代码上toString()方法的默认实现是: 类名@对象的内存地址转化为十六进制的形式
- SUN公司设计toString()方法的目的是什么?
toString()方法设计的目的是:通过调用这个方法可以将一个“java对象”转化成“字符串形式” - SUN公司开发java语言的时候,建议所有的子类都去重写toString()方法,toString()方法应该是一个简洁的,详实的,易阅读的
- 源代码长什么样?
public boolean equals(Object obj){ return (this == obj); }
-
SUN公司设计equals方法的目的是什么呢?
以后编程的过程当中,都要通过equals方法来判断两个对象是否相等。 -
我们需要研究一下Object类给我的和这个默认的equals方法够不够用?
在Object类中的equals方法当中,默认采用的是“==”判断两个java对象是否相等,而“ ==”判断的是两个java对象的内存地址。我们应该判断两个java对象的内容是否相等,所以老祖宗的equals方法不够用,子类需要重写equals方法
总结- 以后所有类的toString()方法都需要重写。
重写规则越简单越好 - equals方法,以后所有的类的equals方法也需要重写,因为Object中的equals方法比较的是两个对象的内存地址,我们应该比较的内容,所以我们需要重写,重写规则:自己定
- 基本数据类型比较:使用 ==
- 对象和对象比较:调用equals方法
- String类是SUN编写的,所以String类的equals方法重写了。以后判断两个字符串是否相等,要调用字符串对象的equals方法
- 以后所有类的toString()方法都需要重写。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)