我们遇到了一个关于订阅的问题,我已经能够运行了但是我唯一的问题是因为我不知道如何调用我的平等方法。问题是如果用户输入地址,则其他用户不得输入相同的地址,而相等的方法将验证该地址是否已存在。
这是我的平等方法..(我的方法是否正确?)
public boolean equals(NewsPaperSubscriber address){
return getStreetAdd() == address.streetAdd;
}
}
答案 0 :(得分:0)
您的代码中的一些内容会有所帮助,但从我看到的内容来看:
您发布的代码有几点需要注意。
首先,我假设getter getStreetAdd()
返回String
变量streetAdd
。在那种情况下,为什么不使用对象address
的getter?不使用getter意味着您的address
字段为public
,请将其设为private
,然后使用:
address.getStreetAdd()
其次,==
比较对象引用本身,而不是对象包含的值。例如:
String string1 = "abc"
String string2 = "abc"
return (string1 == string2) // will return FALSE, because string1 and string2
// point to different locations in memory
因此,您可以使用.equals()
类提供的String
方法。结合这两件事,您的代码现在应该如下所示:
public boolean equals(NewsPaperSubscriber address){
return getStreetAdd().equals(address.getStreetAdd);
}