2014-10-04 36 views
0

我們遇到了訂閱問題,並且我已經能夠運行它了,但是我唯一的問題是由於不知道如何,我無法打電話給我平等的方法。問題是如果一個用戶輸入一個地址,另一個用戶不能輸入相同的地址,等號方法將驗證該地址是否已經存在。我將如何在一個類中做同樣的方法,如果該類是抽象類,我將如何將該方法調用到主類

這裏是我的方法相同。(是我等於方法正確嗎?)

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

}

+0

使用'equals'或'equalsIgnoreCase'方法在'Java'比較'String'的 – Tirath 2014-10-04 04:27:28

回答

0

多一點你的代碼會有所幫助,但是從我所看到的:

您發佈的代碼有幾點需要注意。

首先,我假設吸氣劑getStreetAdd()返回String變量streetAdd。在那種情況下,爲什麼不使用對象address的吸氣劑?不使用吸氣意味着你addresspublic,使其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 

因此,可以使用由String類提供的.equals()方法。結合這兩個東西,你的代碼現在應該是這樣的:

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

}

相關問題