JAVA-关于ArrayList

JAVA-关于ArrayList,java,arraylist,Java,Arraylist,嗨,我有一个关于Java中ArrayList的问题 我在一个叫“中尉”的班上有一个ArraylistRicFriends; 现在,问题是我有一个叫做 requestFriendship(Utente u) 我想在u.S.Friends中添加调用该方法的对象Utene 我试过用这种方法,但错了99% public void requestFriendship(Utente u){ u.ricFriends.add(this); } 例如,我想这样做: Utente Gary = ne

嗨,我有一个关于Java中ArrayList的问题

我在一个叫“中尉”的班上有一个ArraylistRicFriends; 现在,问题是我有一个叫做

requestFriendship(Utente u) 
我想在u.S.Friends中添加调用该方法的对象Utene

我试过用这种方法,但错了99%

public void requestFriendship(Utente u){
    u.ricFriends.add(this);
}
例如,我想这样做:

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

Gary.requestFriendship(Mike);
如果我查看Mike.ricFriends,我可以看到对象Gary


抱歉用英语说,谢谢。

不确定您想做什么,但您应该更改这一行:

 u.ricFriends.add(this);
为此:

  this.ricFriends.add(u)

不确定您想做什么,但您应该更改这一行:

 u.ricFriends.add(this);
为此:

  this.ricFriends.add(u)

首先,您将属性公开,这在OO编程中不是一个好的实践,您应该创建get和set方法

关于你的问题,你可以这样做:

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

utenteList.add(Mike);
ArrayList-utinetlist=u.getRicFriends();
添加(迈克);

注意“this”指针,“this”意味着您自己获取对象引用。

首先,您将属性公开,这在OO编程中不是一个好做法,您应该创建get和set方法

关于你的问题,你可以这样做:

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

utenteList.add(Mike);
ArrayList-utinetlist=u.getRicFriends();
添加(迈克);

注意“this”指针,“this”表示您自己正在引用对象。

根据您的描述,RequestFriendly工作正常:您调用此方法的对象被添加到Utene参数所拥有的列表中。您的问题是什么?看起来应该可以工作,这有什么问题吗?这应该会让加里加入迈克的行列,而且似乎很管用。是否也要将Mike添加到Gary?抱歉,我已解决,它可以正常工作根据您的描述,RequestFriendly可以正常工作:您调用此方法的对象被添加到Utene参数所拥有的列表中。您的问题是什么?看起来应该可以工作,有什么问题吗?它应该将Gary添加到Mike,并且似乎可以工作。你想把Mike也加入Gary吗?对不起,我解决了,返回可变列表在OO编程中也经常被视为不好的做法。我想要一个
addRicFriend(Mike)
方法。这将使
u
中的更改更容易-内部细节(无论是数组、数组列表还是其他任何内容)都会被封装。在OO编程中,返回可变列表通常被视为不好的做法。我想要一个
addRicFriend(Mike)
方法。这将使
u
中的更改更容易-内部细节,无论是数组、ArrayList还是其他任何内容都会被封装。