Java面试题(10)Java中==、equals()、compareTo()的区别
序言
==
基本数据类型都用这个比较
Java里面包含8个基本数据类型,分别是: boolean、byte、char、short、int、float、double、long
equals()
equals是对对象内容的比较
compareTo
在API中,java.lang包下面的基本数据类型的封装类都提供了该方法。
- 在基本数据中,equals()是比较2个Character对象;
- 在Boolean中,是boolean的实例与其它实例进行比较
- 在String中,是按照字典顺序进行比较,返回值是一个int类型
在遇到浮点数的时候,千万不要使用“==”操作符来进行比较,因为有精度问题。要么使用阈值来忽略舍入的问题,要么使用 BigDecimal 来替代 double 或者 float。
小结
所以,总结如下:
- “==”是对对象内存地址的比较
- equals()是对对象内容的比较
- 对于基本数据类型一般用“==”
- 对于字符串的比较一般用equals()