有人可以告訴我由我的導師提供的代碼中的以下行應該做什麼?查找ArrayList中的重複項
if (data.contains(entry))
全部方法:
public String add(Entry entry) {
if (entry == null)
return "Error: null entry";
if (data.contains(entry))
return "Error: this entry already in the book";
boolean done = data.add(entry);
if (done)
return " entry added";
else
return "entry could not be added";
}
我以爲是檢查使用相同的細節在ArrayList中的現有條目,但是當我添加一個重複的條目它不進入這樣想通if
聲明我假定錯了?我在互聯網上搜索,它說這是爲了這個目的,爲什麼它不適合我?
你試圖比較對象的,如果外面,看是否是相同的(使用equals方法) ? http://docs.oracle.com/javase/6/docs/api/java/util/ArrayList.html#contains(java.lang.Object) – lcguida 2013-05-03 14:02:55
@rockskull沒有對這個類中的方法做任何事情,因爲我們無論如何都無法修改它。我們已經擴展了創建地址簿的類。他一定是想讓我們以某種方式使用它,否則他們爲什麼要把它放在那裏呢? – ToniHopkins 2013-05-03 14:08:08
另外,值得指出的是,從Java方法返回字符串狀態是不正常的。相反,如果你沒有有意義的返回值,那麼它就是一個「空白」方法。如果出現問題,請拋出異常。 – 2013-05-03 14:16:59