首页 > 编程知识 正文

重写to String,怎样重写tostring方法

时间:2023-05-06 13:03:41 阅读:241023 作者:3265

toString()方法是在Object类里面的方法,它返回的是String型的数据:类名+@+哈希值的16进制形式.

public String toString() { return getClass().getName() + "@" + Integer.toHexString(hashCode()); } 返回该对象的字符串表示。

toHexString(int i)方法:
以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式

Eg:

import com.hpe.bean.Student; public class Demo2_ToString { public static void main(String[] args) { Student stu = new Student("liyu",22); String str = stu.toString(); System.out.println(str); }

结果:

我的名字是liyu年龄是22

重写toString()方法(用上述例子继续举例):
法一:(自己重写)

在Student类里面按Alt+Shift+S,点击Override,选择toString()方法

toString()方法原本形式:

public String toString() {// TODO Auto-generated method stubreturn super.toString();}重写后的形式:public String toString() {// TODO Auto-generated method stubreturn "我的名字是" + name + "年龄是" + age;}

结果:

我的名字是liyu年龄是22

法二:(使用Eclipse提供的方法重写)

在Student类里面按Alt+Shift+S,点击Generate toString(),点击ok生成后的格式:@Overridepublic String toString() {return "Student [name=" + name + ", age=" + age + "]";}结果:Student [name=liyu, age=22]tostring()方法的作用:可以更方便的显示属性值toString()方法与getXxx()的区别toString()方法只是显示属性值getXxx()方法可以显示,更多的是赋值,或对数据做其它操作直接打印对象的引用,会默认调用toString()方法

Eg:

import com.hpe.bean.Student; public class Demo2_ToString { public static void main(String[] args) { Student stu = new Student("liyu",22); //String str = stu.toString(); System.out.println(stu); }

结果:

Student [name=liyu, age=22]

如果打印对象的引用,输出的不是类名+@+哈希值,则证明重写了toString方法

原文链接:https://blog.csdn.net/dianmomanxue/article/details/81428126

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。