2016-04-11 23 views
0

Hi hakkında i Java ArrayList hakkında bir sorum var.JAVA - ArrayList

ben "Utente" bir ArrayList ricFriends adlı bir sınıfta var; Şimdi, sorun ben bu şekilde çalıştı

i u.ricFriends yöntemi çağırmak nesne Utente eklemek istediğiniz

requestFriendship(Utente u) 

adlı bir yöntem var ... ama olmasıdır yanlış% 99 .. örneğin

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

de bunu yapmak istiyorum:

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

Gary.requestFriendship(Mike); 

A Eğer Mike.ric adlı oyuncuları kontrol edersem, nesneyi görebilirim Gary; ingilizce için üzgünüm

, teşekkür ederim.

+0

açıklamanızı göre, requestFriendship düzgün çalışır: Bu yöntemi çağırmak hangi nesne Utente parametresi tarafından sahip olunan listesine eklenir. – laune

+0

Sorunun tam olarak nedir? çalışması gerekir gibi görünüyor – slartidan

+0

, yanlış nedir? –

cevap

2

değil yapmaya çalıştığını, ancak bu hattı değiştirmek gerektiğinden emin: Bunun

u.ricFriends.add(this); 

: Herşeyden

this.ricFriends.add(u) 
0

Önce, bir özellik halkı yapıyoruz, işte bu OO programlamada iyi bir uygulama değil, get ve set yöntemleri oluşturmalısınız. "Bu" pointer hakkında

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

utenteList.add(Mike); 

atın bakımını, "Bu" nesne kendisini başvuru alıyor anlamına:

sorunun Hakkında, bunu böyle bir şey yapabilirdi.

+1

Geri dönen değişken listeleri de OO programlamada sıklıkla kötü uygulama olarak görülür. Bir 'addRicFriend (Mike) yöntemini tercih ederim. Bu değişiklik yapacaklarını 'kolay u' - İç detay, ricFriends Dizi, bir ArrayList veya kapsüllü olduğu başka bir şey olup olmadığını. – slartidan