Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

141
Views
El método addFriend(Person) no está definido para el tipo ArrayList<Person>

Tengo 3 archivos fuente de Java.

  • Person.java
  • FriendsList.java
  • MyFriends.java

FriendsList contiene una lista de matriz de objetos de tipo Person y un método para agregar un nuevo amigo a la lista.

 public class FriendsList{ ArrayList<Person> friendsList = new ArrayList<Person>(100); // Constructor declaration of class public FriendsList(ArrayList<Person> friendsList){ super(); this.friendsList = friendsList; } ... public void addFriend(Person friend){ friendsList.add(friend); } ... }

Ahora, en MyFriends.java creé una nueva lista de matriz de objetos de tipo Person , declaré una nueva Person y estoy tratando de agregarla a la lista usando el método addFriend(Person) pero recibo un error "Method addFriend(Person) is undefined for the type ArrayList<Person>"

 public class MyFriends{ public void main(String[] args){ ArrayList<Person> friendsList = new ArrayList<Person>(100); Person f1 = new Person("Alice", "Anderson", "519-472-4910", "02", "19"); friendsList.addFriend(f1); } }

Probé todos los demás métodos definidos en FriendsList.java pero recibo el mismo mensaje de error. Entiendo que si los archivos de origen están en la misma carpeta, la sintaxis para usar un método del otro archivo es objectName.method(a) .

¿Qué estoy haciendo mal?

(Perdón si no estoy preguntando bien, es mi primera pregunta)

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

Supongo que quieres hacer lo siguiente en su lugar:

 public class MyFriends{ public void main(String[] args){ FriendsList friendsList = new FriendsList(); Person f1 = new Person("Alice", "Anderson", "519-472-4910", "02", "19"); friendsList.addFriend(f1); } }

Estaba creando una instancia de ArrayList<Person> pero lo que realmente quiere es crear un objeto de su propia clase FriendsList .


Parece que no tiene un constructor sin argumentos en su FriendsList , por lo que debe hacer lo siguiente (crear una instancia de List of Person ):

 public class MyFriends{ public void main(String[] args){ FriendsList friendsList = new FriendsList(new ArrayList<Person>(100)); Person f1 = new Person("Alice", "Anderson", "519-472-4910", "02", "19"); friendsList.addFriend(f1); } }

Aún así, en mi opinión, debería considerar agregar un constructor sin argumentos a su lista de FriendsList de la siguiente manera para que mi primera sugerencia realmente funcione ( gracias @DavidConrad por las sugerencias ):

 public class FriendsList{ ArrayList<Person> friendsList = new ArrayList<Person>(100); // Constructor declaration of class public FriendsList() { } public FriendsList(ArrayList<Person> friendsList){ this.friendsList.addAll(friendsList); } ... public void addFriend(Person friend){ friendsList.add(friend); } ... }
over 4 years ago · Santiago Trujillo Report

0

En realidad, no está utilizando la clase FriendsList . Mis amigos deben ser:

 public class MyFriends{ public void main(String[] args){ FriendsList friendsList = new FriendsList(); Person f1 = new Person("Alice", "Anderson", "519-472-4910", "02", "19"); friendsList.addFriend(f1); } }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!