【JavaSE】toString方法基本使用
【摘要】 【JavaSE】toString方法基本使用
toString 方法
- 基本介绍
- 默认返回:
全类名+@+哈希值的十六进制
,【查看 Object 的 toString 方法】
/*
Object的toString()方法:
(1)getClass().getName():全类名(包名+类名)
(2)Integer.toHexString(hashCode(): 将对象的hashCode值转成16进制字符串
*/
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}
- 子类往往重写
toString
方法,用于返回对象的属性信息。
- 重写 toString 方法,打印对象或拼接对象时,都会自动调用该对象的
toString
形式。
public class ToString_ {
public static void main(String[] args) {
Monster monster = new Monster("小妖怪", "巡山的", 1000);
System.out.println(monster.toString());
System.out.println("十进制:" + monster.hashCode());
}
}
class Monster{
private String name;
private String job;
private double sal;
public Monster(String name, String job, double sal) {
this.name = name;
this.job = job;
this.sal = sal;
}
}
-
把上面的十进制转换成十六进制就对应上面的了
-
toString
方法其实就是把对象的 hashCode 值转成 十六进制 -
重写
toString
的方法,输出对象的属性值
public class ToString_ {
public static void main(String[] args) {
Monster monster = new Monster("小妖怪", "巡山的", 1000);
System.out.println(monster.toString());
System.out.println("十进制:" + monster.hashCode());
}
}
class Monster{
private String name;
private String job;
private double sal;
public Monster(String name, String job, double sal) {
this.name = name;
this.job = job;
this.sal = sal;
}
@Override
public String toString() {//重写后,一般是把对象的属性值输出,当然也可以自己定制
return "Monster{" +
"name='" + name + '\'' +
", job='" + job + '\'' +
", sal=" + sal +
'}';
}
}
- 当直接输出一个对象时,
toString
方法会被默认的调用,比如System.out.println(monster);
就会默认调用monster.toString();
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)