Java == 和 equals 的区别(面试描述)
-
==
- == 是一个比较运算符
- 既可以判断基本类型,又可以判断引用类型
- 如果判断基本数据类型,判断的是值是否相等
- 如果判断的是引用类型,判断的是地址是否相等,判断是不是同一个对象
-
equals
- equals是object类的方法,只能判断引用类型
- 默认判断的是地址是否相等。object子类String,Intger等,源码中往往重写该方法,用于判断内容是否相等
- equals不重写判断是地址是否相等,判断是不是同一个对象
- equals重写判断的对象里的内容是否相等
- 我们也可以在自己创建的对象中重equals,用于判断值是否相等
-
补充
public class Intager_ { public static void main(String[] args) { //主要只要有基本数据类型就是判断值是否相等 Integer a = 128; int i = 128; System.out.println(a == i); } }