1. == 对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象地址 ,一般用于基本数据类型
equeals: object中默认也是采用==比较,但通常会被重写,用于字符串的比较,指向内存空间的值是不是相同
compareTo:均有各自的实现,一般用于直接比较值是否相等,一般用于数值包装器类型
除了==, 另外两个开发者都可以重写自定义方法,实现所需的比较逻辑
参考如下String源码:
1. == 对比的是栈中的值,基本数据类型是变量值,引用类型是堆中内存对象地址 ,一般用于基本数据类型
equeals: object中默认也是采用==比较,但通常会被重写,用于字符串的比较,指向内存空间的值是不是相同
compareTo:均有各自的实现,一般用于直接比较值是否相等,一般用于数值包装器类型
除了==, 另外两个开发者都可以重写自定义方法,实现所需的比较逻辑
参考如下String源码: