2016-04-11 30 views
0

您好我有一個關於Java中ArrayList的問題。JAVA - 關於ArrayList

我在一個名爲「Utente」的類中有一個ArrayList ricFriends; 現在的問題是,我有一個名爲

requestFriendship(Utente u) 

,我想在u.ricFriends對象Utente調用的方法添加方法...

我這樣嘗試過,但它在99%的錯誤..

public void requestFriendship(Utente u){ 
    u.ricFriends.add(this); 
} 

例如,我想這樣做:

Utente Gary = new Utente(); 
Utente Mike = new Utente(); 

Gary.requestFriendship(Mike); 

一nd如果我檢查Mike.ricFriends我可以看到對象加里;

對不起,英文,謝謝。

+0

根據您的描述,requestFriendship可以正常工作:您調用此方法的對象將被添加到Utente參數所擁有的列表中。 – laune

+0

你的問題到底是什麼? – slartidan

+0

這看起來應該起作用,它有什麼問題? –

回答

2

不知道你想要做什麼,但你應該改變這一行:

u.ricFriends.add(this); 

此:

this.ricFriends.add(u) 
0

首先,你是一個屬性公開,這是在面向對象編程中不是一個好習慣,你應該創建get和set方法。

關於你的問題,你可以做這樣的事情:

ArrayList<Utente> utenteList = u.getRicFriends(); 

utenteList.add(Mike); 

關於「this」指針保重「這」意味着你正在服用的對象引用自己。

+1

返回可變列表在OO編程中也經常被認爲是不好的做法。我更喜歡'addRicFriend(Mike)'方法。這會使'u'更容易 - 內部細節,無論是ricFriends是一個數組,還是其他任何封裝。 – slartidan