Jak wyświetlić pole obiektu zapisanego w liście?

Jak wyświetlić pole obiektu zapisanego w liście?
WY
  • Rejestracja:ponad 2 lata
  • Ostatnio:9 miesięcy
  • Postów:16
0
Kopiuj
public class Person
{
    private String name;
    private ArrayList<Person> friends = new ArrayList();

    public Person(String name)
    {
        this.name = name;
    }

    public void beFriend(Person p)
    {
        friends.add(p);
    }

    public void unFriend(Person p)
    {
        friends.remove(p);
    }

    public ArrayList getFriends()
    {
        return friends;
    }

    public String getName()
    {
        return name;
    }
}
Kopiuj
public class PersonTest
{
    public static void main(String[] args)
    {
        Person p1 = new Person("Patrycja");
        Person p2 = new Person("Ewa");
        Person p3 = new Person("Bartek");
        Person p4 = new Person("Kacper");
        Person p5 = new Person("Paweł");

        p1.beFriend(p5);
        p1.beFriend(p2);
        p1.beFriend(p3);

        for (int i = 0; i < p1.getFriends().size(); i++)
        {
            System.out.println(p1.getFriends().get(i).getName()); //<-- Dlaczego nie mogę uzyskać dostępu do pola za pomocą getName()?
        }

    }
}

Dlaczego nie mogę uzyskać dostępu do pola za pomocą getName()?

Moim celem jest wyświetlenie imion osób z listy znajomych obiektu klasy Person, lista przechowuje inne osoby.

_13th_Dragon
  • Rejestracja:ponad 19 lat
  • Ostatnio:3 dni
3

Ponieważ metoda public ArrayList getFriends() zwraca prehistorycznego ArrayList zamiast ArrayList<Person>,
Możesz zwracać ogólną listę List<Person> ale nie prehistoryczną której metoda .get() zwraca Object.


Wykonuję programy na zamówienie, pisać na Priv.
Asm/C/C++/Pascal/Delphi/Java/C#/PHP/JS oraz inne języki.
WY
  • Rejestracja:ponad 2 lata
  • Ostatnio:9 miesięcy
  • Postów:16
1

Oj ale głupek ze mnie, dzięki za szybką odpowiedź :).

_13th_Dragon
Każdy kto tak mówi, nie jest głupkiem. Prawdziwy głupek nigdy do tego się nie przyzna.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.