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

367
Views
¿Cómo envolver un objeto de colección de una subclase?

Estoy creando una matriz en la que cada elemento de la matriz es una lista enlazada de cadenas. DEBO usar la siguiente implementación:

Cree una clase que envuelva un objeto LinkedList (y también amplíe una clase determinada) y haga que cada elemento de la matriz sea una instancia de esta clase. Me dan la siguiente clase que necesito extender (que no puedo cambiar, y DEBO usar):

 public Class1{ java.util.Collection<java.lang.String> collection; Class1(java.util.Collection<java.lang.String> collection){ this.collection = collection; } public void add(String str) { collection.add(str); }

y Class1 tiene un par de métodos más relacionados con la colección (eliminar, etc.). Quiero crear una clase que amplíe Class1 y envuelva un objeto LinkedList. Quiero que esta clase cumpla con dos requisitos:

  1. use la implementación Class1 para los métodos de recopilación (agregar, eliminar, etc.)
  2. tener otros métodos propios, por ejemplo, el siguiente método getFirst().

Así que esto es lo que hice:

 public class Bucket extends Class1 { LinkedList<String> linkedList; Bucket(){ super(new LinkedList<String>()); } public String getFirst(){ linkedList.getFirst(); } }

Tengo una clase principal que intenta ejecutar el siguiente código

 Bucket bucket = new Bucket(); bucket.add("5"); bucket.getFirst();

Esto cae en la línea bucket.getFirst(), porque obviamente la lista vinculada en la clase Bucket es nula, no es el objeto LinkedList que envié a Class1, por lo que el método getFirst() en Bucket está tratando de operar en nulo .

¿Como puedo resolver esto? ¿Cómo puedo conectar la LinkedList que envío a Class1 con la LinkedList que tengo en la clase Bucket? Gracias por leer hasta ahora.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Sí, en su código actual, linkedList dentro de la clase Bucket no apunta a ningún objeto , por lo que arroja java.lang.NullPointerException , por lo que para resolver el problema, puede seguir el siguiente enfoque:

Básicamente, una LinkedList IS-A Collection , por lo que simplemente puede encasillar el objeto de collection (de la superclase Class1 ) al objeto linkedList y return el primer elemento como se muestra a continuación:

 public class Bucket extends Class1 { LinkedList<String> linkedList; public Bucket(){ super(new LinkedList<String>()); //now typecast and assign collection to linkedList linkedList = (LinkedList<String>)collection; } public String getFirst() { return linkedList.getFirst(); } }
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!