Java判等操作

Posted by Wh0ami-hy on March 12, 2024

Object.equals

  • equals是Object类中的方法,只能判断引用类型
  • equals 默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。比如Integer、String

Objects.equals

Objects(java.util.Objects)该类由static用于对对象进行static实用方法组成。 这些实用程序包括用于计算对象的哈希码的null -safe或null方法,为对象返回一个字符串,并比较两个对象

源码分析

public static boolean equals(Object a, Object b) {
	return (a == b) || (a != null && a.equals(b));
}
  • 首先,进行了对象地址的判断,如果是真,则不再继续判断。
  • 如果不相等,则先判断a不为空。所以,如果都是null,在第一个判断上就为true了。如果不为空,地址不同,就重要的是判断a.equals(b)。

注意

  • Objects.equals方法在两个入参类型不同时,会直接返回false

本站总访问量