A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 夏晓彤 中级黑马   /  2013-1-15 16:59  /  1499 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2013-1-16 11:04 编辑

在定义类时,何时需要重写object类中tostring()方法和equals()方法?

4 个回复

倒序浏览
有时你要自定义格式化输出的时候就得重写ToString()方法。
public string ToString()
    {
        return "str你想的输出“;
    }
equals 同理
你需要自定义自己的比较准则时就需要要重写你的equals方法。
如,你想定义对象相等的准则是名字(name)
public boolean equals(Person p)
        {
                return p.name.equals(this.name);
        }

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
object类是所有类的基类,所有类都从object类继承而来当然也就继承了它的toString()和equals()方法,因此可以重写toString()方法和equals()方法,toString()方法主要用来打印此对象的相关信息,equals()方法是用来判断两个对象是否完全相等(内存地址相同)的方法

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
1.返回对象的堆区的数据,重写toString()
2.容器对象中进行排序,首先要比较,那么对象的类要实现Compareable接口也要需要重写equals()

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
object类是所有类的父类,所以它的这两个方法,在任何类中都可以去复写,只要看你的用途
toString()方法用来打印对象的信息,如地址等
equals()方法是用来判断两个对象、变量等是否完全相等的方法

所以他们简单来说就是两个工具方法,拿来就能用的!

评分

参与人数 1黑马币 +9 收起 理由
Rancho_Gump + 9 赞一个!

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马