比较运算符== 和equals的对比
-
==:既可以判断基本类型,也可以判断引用类型
-
==:如果判断基本类型,判断的是值是否相等
-
==: 如果判断引用类型,判断的是地址是否相等,即判断是不是同一个对象
-
equals: 是Object类中的方法,只能判断引用类型
-
equals:默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。比如Integer、String
hashCode方法
-
提高具有哈希结构容器的效率
-
两个引用,如果指向的是同一个对象,则哈希值肯定是一样的!
-
两个引用,如果指向的是不同对象,则哈希值是不一样的
-
哈希值主要根据地址号而来,但不能将哈希值完全等价于地址
toString方法
- 默认返回:全类名+@+哈希值的十六进制,子类往往会重写toString方法,用于返回对象的属性信息
- 重写toString方法,打印对象或拼接对象时,都会调用该对象的toString形式
- 当直接输出一个对象时,toString方法会被默认的调用