== 和 equals区别
== 和 equals 都是比较是否相等,请问它们到底有什么区别呢?
相等 :
传统的理解一般都是数字值是否相等;
在程序中任何东西都是数据,都会比较是否相等[ 对象 ]
== 比较运算符
基本数据类型变量: 比较的就是值是否相等;
引用数据类型变量: 比较的是对象的地址是否一样;(排除特殊 String)
equals 方法[最初定义在根类Object中的,比较对象是否相等]
基本数据类型 : 不能够使用! 基本数据类型不是对象,不能够调用Object中的方法
引用数据类型 : 但是在Object的源码中定义的就是 == 进行比较比较
定义好的类没有覆写过equals方法,则会直接调用到了Object中的equals方法,那么本质还是在使用==比较
在实际开发中,自定义类:一般比较对象,都是通过对象的属性值进行比较,所以自定义类,会经常覆写Object中的此方法,把自己的比较规则写在方法里面;
⑫覆写equals方法的意义:定义类,覆写equals方法,自己制定规则,比较自定义类对象的静态属性
(5)打印过程实际上调用了toString方法