equals
概述
默认方法:比较对象在内存中的地址值是否相同
重写的目的
因为对象比较地址值没有任何意义,一般是判断对象是否同一个对象是通多比较对两个对象成员变量来判断,如果两个对象成员变量值都相同,则认为是同一个对象
toString
概述
默认返回值:类全名@类在内存中的地址值
调用时机
直接调用:直接通过对象名调用toString()
间接调用:打印输出该对象时,系统会自动调用该对象的toString方法
重写的目的
打印一个对象的成员变量
打印一维或多维数组
数组继承了object
数组继承了obe类的 toString方法,数组类型将按照旧的格式打印。例如
int[] luckyNumbers = { 2, 3, 5, 7, 11, 131};
String s = "" + luckyNumbers;
生成字符串“[@la4630”(前缀Ⅱ表明是一个整型数组)。
修正的方式是调用静态方法 Arrays. toString。代码
String s = Arrays.toString(luckyNumbers);
将生成字符串“[2,3,5,7,1,13]”。
要想打印多维数组(即,数组的数组)则需要调用 Arrays. deepToString方法。
toString方法是一种非常有用的调试工具。在标准类库中,许多类都定义了 toString方法,以便用户能够获得一些有关对象状态的必要信息。像下面这样显示调试信息非常有益:
System.out.printIn("Current position =" + position);
更好的解决方法是
Logger.global.info("Current position =" + position);
提示:强烈建议为自定义的每一个类增加 toString方法。这样做不仅自己受益,而且所有使用这个类的程序员也会从这个日志记录支持中受益匪浅。