Methods 如果某个类是抽象类,我将如何在该类中生成equal方法,以及如何将该方法调用到main

Methods 如果某个类是抽象类,我将如何在该类中生成equal方法,以及如何将该方法调用到main,methods,equals,Methods,Equals,我们在订阅方面遇到了一个问题,我已经能够运行它了,但我唯一的问题是我无法调用我的equal方法,因为我不知道如何调用。问题是,如果一个用户要输入一个地址,那么另一个用户不能输入相同的地址,equal方法将验证该地址是否已经存在 这是我的方法。。(我的相等方法正确吗?) }您的代码再多一点可能会有所帮助,但据我所见: 在你发布的代码中有几点需要注意 首先,我假设gettergetStreetAdd()返回字符串变量streetAdd。在这种情况下,为什么不对对象地址使用getter呢?不使用get

我们在订阅方面遇到了一个问题,我已经能够运行它了,但我唯一的问题是我无法调用我的equal方法,因为我不知道如何调用。问题是,如果一个用户要输入一个地址,那么另一个用户不能输入相同的地址,equal方法将验证该地址是否已经存在

这是我的方法。。(我的相等方法正确吗?)


}

您的代码再多一点可能会有所帮助,但据我所见:

在你发布的代码中有几点需要注意

首先,我假设getter
getStreetAdd()
返回
字符串
变量
streetAdd
。在这种情况下,为什么不对对象
地址
使用getter呢?不使用getter表示您的
地址
字段是
公共
,请将其设置为
私有
,然后使用:

address.getStreetAdd()

其次,
==
比较对象引用本身,而不是对象包含的任何内容的值。例如:

String string1 = "abc"
String string2 = "abc"
return (string1 == string2) // will return FALSE, because string1 and string2
                            // point to different locations in memory
因此,您可以使用
String
类提供的
.equals()
方法。结合这两方面,您的代码现在应该如下所示:

public boolean equals(NewsPaperSubscriber address){
    return getStreetAdd().equals(address.getStreetAdd);

}

使用
equals
equalsIgnoreCase
方法来比较
Java中的
字符串
public boolean equals(NewsPaperSubscriber address){
    return getStreetAdd().equals(address.getStreetAdd);