public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Test01 test01 = (Test01) o;
return age == test01.age &&
Objects.equals(name, test01.name) &&
Objects.equals(addr, test01.addr);
}
这是idea自动生成的代码,为什么会传两个参数,还可以运行
Objects是一个工具类,不是Object类
请问你有点这个方法的源代码进去看吗,里面有详细描述的,最终会走到Object的equals方法
Objects.java是rt.jar中until包中的一个工具类,用于判断两个对象是否相等,具体实现如下:
public static boolean equals(Object var0, Object var1) {
return var0 == var1 || var0 != null && var0.equals(var1);
}
如有帮助欢迎采纳!