admin 管理员组

文章数量: 887021


2024年1月17日发(作者:颜色反转)

java new 对象的重写方法

在Java中,你可以通过重写`equals()`和`hashCode()`方法来比较两个对象是否相等。如果你重写了这两个方法,那么当你使用`new`关键字创建新对象时,Java将使用你的重写方法来比较对象。

下面是一个示例代码,演示如何重写`equals()`和`hashCode()`方法:

```java

public class Person {

private String name;

private int age;

public Person(String name, int age) {

= name;

= age;

}

Override

public boolean equals(Object obj) {

if (this == obj) {

return true;

}

if (obj == null getClass() != ()) {

return false;

}

Person person = (Person) obj;

return age == && ();

}

Override

public int hashCode() {

return (name, age);

}

}

```

在上面的代码中,我们重写了`equals()`方法来比较两个`Person`对象是否相等。我们首先检查两个对象是否为同一个对象,如果是,则返回`true`。然后,我们检查传入的对象是否为`null`或者不是`Person`类型,如果是,则返回`false`。最后,我们将传入的对象强制转换为`Person`类型,并比较两个

对象的`name`和`age`属性是否相等。如果都相等,则返回`true`,否则返回`false`。

我们还重写了`hashCode()`方法来计算对象的哈希码。我们使用`()`方法来计算哈希码,该方法接受任意数量的参数,并将它们作为参数传递给哈希码计算函数。在这个例子中,我们将对象的`name`和`age`属性作为参数传递给哈希码计算函数。


本文标签: 对象 方法 是否 相等 重写