toString()方法讲解及toString()方法重写

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 stub

		return super.toString();

	}

	重写后的形式:

	public String toString() {

		// TODO Auto-generated method stub

		return "我的名字是" + name + "年龄是" + age;

	}

结果:

我的名字是liyu年龄是22

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

在Student类里面按Alt+Shift+S,点击Generate toString(),点击ok

生成后的格式:

@Override

public 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

猜你喜欢

转载自blog.csdn.net/qq_43619271/article/details/106267122