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()

资料

https://www.cnblogs.com/qing-gee/p/13321040.html

原文地址:https://www.cnblogs.com/cnki/p/13339811.html