toString()方法的使用
toString()方法:
java.lang.Object类的toString()方法的定义如下:
public String toString(){
return getClass().getName()+"@"+Integer.toHexString(hashCode());
}
1.当打印一个对象的引用时,实际上默认调用的就是这个对象的toString()方法
2.当打印的对象所在的类没有重写Object中的toString()方法时, 那么调用的就是Object中定义toString()方法。
返回此对象所在的类及对应的堆空间实体的首地址值。
3.当打印的对象所在的类重写了toString()方法时,调用的就是我们自己重写的toString()方法;
注:常这样重写:将对象的属性信息返回,
4.像String类 包装类,File类 Date类等,已经实现了Object类中toString()方法的重写。
TestToString:
package com.aff.equals;
import java.util.Date;
import com.aff.java1.Person;
public class TestToString {
public static void main(String[] args) {
Person p1 = new Person("AA", 10);
System.out.println(p1.toString());// com.aff.java1.Person@6d06d69c
System.out.println(p1);// com.aff.java1.Person@6d06d69c
String str = "AA";
String str1 = new String("BB");
System.out.println(str);
System.out.println(str1.toString());
Date d = new Date();
System.out.println(d);
}
}
输出结果:
com.aff.java1.Person@6d06d69c
com.aff.java1.Person@6d06d69c
AA
BB
Wed Mar 18 19:14:58 CST 2020
注意:double类型转为String类型 :String.valueOf(radius)
e2:
Circle:
package com.aff.equals;
public class Circle extends GeometricObject {
private double radius;
public Circle() {
super();
this.radius = 1.0;
}
public Circle(double radius) {
super();
this.radius = radius;
}
public Circle(double radius, String color, double weight) {
super(color, weight);
this.radius = radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
// 圆的面积
public double findArea() {
return Math.PI * radius * radius;
}
// 重写equals()方法和toString()
public boolean equals(Object obj) {
if (this == obj) {
return true;
} else if (obj instanceof Circle) {
Circle c = (Circle) obj;
return this.radius == c.radius;
} else {
return false;
}
}
@Override
public String toString() {
return "Circle [radius=" + radius + "]";
}
/* public String toString() {
return radius + "";
}*/
}
GeometricObject:
package com.aff.equals;
public class GeometricObject {
protected String color;
protected double weight;
public GeometricObject() {
super();
this.color = "white";
this.weight = 1.0;
}
public GeometricObject(String color, double weight) {
super();
this.color = color;
this.weight = weight;
}
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getWeight() {
return weight;
}
public void setWeight(double weight) {
this.weight = weight;
}
}
TestCircle:
package com.aff.equals;
public class TestCircle {
public static void main(String[] args) {
Circle c1 = new Circle(2.3);
Circle c2 = new Circle(2.3);
System.out.println(c1.equals(c2));// false-->true
System.out.println(c1.toString());
}
}
输出结果:
true
Circle [radius=2.3]
toString()方法的使用的更多相关文章
- 采用重写tostring方法使ComboBox显示对象属性
当ComboBox中添加的是对象集合的时候,如果运行就会发现显示是的命令空间.类名,而如果我们想显示对象属性名的时候,我们就可以在对象类中重写object基类中的tostring方法.
- ECMAScript toString() 方法
ECMAScript 定义所有对象都有 toString() 方法,无论它是伪对象,还是真对象. ECMAScript 的 Boolean 值.数字和字符串的原始值的有趣之处在于它们是伪对象,这意味着 ...
- 利用Object.prototype.toString方法,实现比typeof更准确的type校验
Object.prototype.toString方法返回对象的类型字符串,因此可以用来判断一个值的类型. 调用方法: Object.prototype.toString.call(value) 不同 ...
- 重写toString()方法来描述一个类
package com.zch.test; /* toString方法以及重写toString方法 toString方法是一个自我描述方法 方法本身返回的是该对象的实现类的 类名 + @ + hash ...
- Object类的toString方法
Object类是所有Java类的祖先.每个类都使用 Object 作为超类.所有对象(包括数组)都实现这个类的方法.在不明确给出超类的情况下,Java会自动把Object作为要定义类的超类 ...
- 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?
100怎么变成100.00?
- js中的tostring()方法
http://blog.sina.com.cn/s/blog_85c1dc100101bxgg.html js中的tostring()方法 (2013-11-12 11:07:43) 转载▼ 标签: ...
- JavaBean的toString方法工具类
import java.lang.reflect.Field;import java.lang.reflect.InvocationTargetException;import java.lang.r ...
- toString()方法
前面的话 本文将介绍toString()方法,toString()方法返回反映这个对象的字符串 [1]undefined和null没有toString()方法 undefined.toString() ...
- 为何重写toString方法后会使哈希码能够打印出来
首先还是推荐lz看源代码 简单的讲之所以调用了toString()方法,不是什么编译器默认的,而是因为lz你调用的是out.print()方法仔细看源代码,在PringStream类中,print方法 ...
随机推荐
- muduo网络库源码学习————互斥锁
muduo源码的互斥锁源码位于muduo/base,Mutex.h,进行了两个类的封装,在实际的使用中更常使用MutexLockGuard类,因为该类可以在析构函数中自动解锁,避免了某些情况忘记解锁. ...
- python-文件字符分布【get()函数与.sort(key=lambda x:x[0],reverse = False)】
文件字符分布 描述 统计附件文件的小写字母a-z的字符分布,即出现a-z字符的数量,并输出结果. ...
- 博客第一天:常用的DOS命令
打开CMD的方式: 1.开始+系统+命令提示符 2.Win键+R 输入cmd打开控制台[推荐使用] 3.在任意文件夹下,按住Shift键+鼠标右击, 选择 ”在此处打开Powershell窗口(S)“ ...
- cdp协议简介
啥是cdp 根据官网的说法,cdp(Chrome DevTools Protocol) 允许我们检测,调试Chromium, Chrome 和其他基于 Blink的 浏览器. 这个协议被广泛使用. 其 ...
- 《深入理解Java虚拟机》第 3 版里面到底多了哪些知识点?本文竟然得到了本书作者的认可!
这是why的第 47 篇原创文章 荒腔走板 大家好,我是 why.老规矩,先是简短的荒腔走板聊聊生活. 上面的图是前几天拍的,那天晚上下班后,刚刚走进小区就看到了这一轮弯月和旁边那一颗特别特别亮的星星 ...
- 如何在MATLAB下把模糊推理系统转化为查询表(转载)
如何在MATLAB下把模糊推理系统转化为查询表(原创) http://foundy.blog.163.com/blog/static/2633834420090212202156/?mode=edit ...
- 学习docker的一点记录
0x00 docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化 ...
- 手把手教系列之IIR滤波器设计
[导读]:在嵌入式系统中经常需要采集模拟信号,采集模拟信号的信号链中难免引入干扰,那么如何滤除干扰呢?今天就来个一步一步描述如何设计部署一个IIR滤波器到你的系统. 何为IIR滤波器? 无限冲激响应( ...
- 关于字符串函数size()的问题
首先如果你是一段语句 for(int i=0;i<a.size();i++)这个时候会报错 comparison between signed and unsigned integer expr ...
- spark机器学习从0到1特征选择-卡方选择器(十五)
一.公式 卡方检验的基本公式,也就是χ2的计算公式,即观察值和理论值之间的偏差 卡方检验公式 其中:A 为观察值,E为理论值,k为观察值的个数,最后一个式子实际上就是具体计算的方法了 n 为总 ...