diff --git "a/docs/JavaBasics/10_Java345円270円270円350円247円201円345円257円271円350円261円241円.md" "b/docs/JavaBasics/10_Java345円270円270円350円247円201円345円257円271円350円261円241円.md" index 0608c91..387ac08 100644 --- "a/docs/JavaBasics/10_Java345円270円270円350円247円201円345円257円271円350円261円241円.md" +++ "b/docs/JavaBasics/10_Java345円270円270円350円247円201円345円257円271円350円261円241円.md" @@ -63,12 +63,16 @@ x.equals(null); // false; - 对于基本类型,== 判断两个值是否相等,基本类型没有 equals() 方法。 - 对于引用类型,== 判断两个变量是否引用同一个对象,而 equals() 判断引用的对象是否等价。 +- 对于自定义类,== 判断两个变量是否引用同一个对象,而 equals() 需要自己实现判断方式,没有实现则会默认调用父类Object的判断方式,此时等价与 ==。 ```java Integer x = new Integer(1); Integer y = new Integer(1); System.out.println(x.equals(y)); // true System.out.println(x == y); // false +NewObject ob1 = new NewObject("object"); +NewObject ob2 = new NewObject("object"); +System.out.println("ob1.equals(ob2):" + ob1.equals(ob2)); // false ``` **3. 实现** @@ -154,6 +158,9 @@ public int hashCode() { ### toString() 方法 默认返回 ToStringExample@4554617c 这种形式,其中 @ 后面的数值为散列码的无符号十六进制表示。 +一般具体类的toString()方法都是需要重写的,以适配相应的需要。 +Integer的toString()类已经重写过了,可以直接调用,将数字转换为String. + ```java public class ToStringExample { @@ -1233,4 +1240,4 @@ String作为参数传递,效果和基本类型作为参数传递是一样的 - 操作少量的数据,使用String - 单线程操作字符串缓冲区下操作大量数据,使用StringBuilder -- 多线程操作字符串缓冲区下操作大量数据,使用StringBuffer \ No newline at end of file +- 多线程操作字符串缓冲区下操作大量数据,使用StringBuffer