Si eres usuario
Ingresa aquí »
¿Eres nuevo?
Regístrate
  • Google
  • Artículos
  • Foros
  • Fotos
  • Videos
  • Amigos
Estás en: Inicio / Foros / Informática / Programación

Respuesta
 
LinkBack Herramientas Buscar en este tema
Monito
[JAVA] Problemas de compilación con ArrayList
Hola, estoy haciendo unos ejercicios de programación y hay uno que tengo que usar la clase ArrayList que no me compila. Quisiera que me indiquen cual es mi error.

Primero que nada tengo la clase Persona
Código:
 class Persona{
    private String nombre;
    private String apellido;
    private int dni;
    
    public Persona(String n, String a, int d){
        nombre = n;
        apellido = a;
        dni = d;
    }
    
    public String getNombre(){ return nombre;}
    public String getApellido(){ return apellido;}
    public int getDni(){ return dni;}
    
    public void setNombre(String n){
        nombre = n;
    }
    public void setApellido(String a){
        apellido = a;
    }
    public void setDni(int d){
        dni = d;
    }
}
y despés tengo la clase EjemploArrayList en la que hago uso de la clase anterior Persona
Código:
import java.util.ArrayList;

public class EjemploArrayList{
    private ArrayList personas;
        
    public EjemploArrayList(){
        this.personas = new ArrayList();
    }

    public Persona getPersona(int posicion){
        return personas.get(posicion);
    }
    
    public void setPersona(int posicion, Persona p){
        personas.get(posicion).setDni(p.getDni());
        personas.get(posicion).setNombre(p.getNombre());
        personas.get(posicion).setApellido(p.getApellido());
    }

    public void addPersona(Persona p){
        personas.add(p);
    }
    
    public void removePersonas(int posicion){
        personas.remove(posicion);
    }

    public int cantidadPersonas(){
        return this.personas.size();
    }
}
Supuestamente ArrayList guarda objetos de tipo Persona.
El error de compilación me lo tira en la clase EjemploArrayList en la linea 11. me dice "incompatible types".
Código:
 (return personas.get(posicion) )
Los 3 errores restantes son en el método:
Código:
public void setPersona(int posicion, Persona p)
cannot resolve symbol method setDni(int)
cannot resolve symbol method setNombre(String)
cannot resolve symbol method setApellido(String)

Yo creo, creo, que debe ser porque no sabe de que tipo son los elementos del ArrayList, entonces cuando le pido que me devuelva un objeto Persona, no me lo reconoce. No sé .
Si alguien sabe podría decirme o sino agarro a patadas la computadora que tanto.
Orangután
Re: Problemas de compilación con ArrayList
Te olvidaste de parametrizar ArrayList, por lo tanto sus métodos devuelven objetos de la clase Object y no Persona. Cambiá todos los "ArrayList" por "ArrayList<Persona>" y te va a andar.
Monito
Re: Problemas de compilación con ArrayList
Otra solucion es que hagas un casting asi:

return (Persona)personas.get(posicion);

y para las otras lineas

((Persona)personas.get(posicion)).setDni(p.getDni( ));
((Persona)personas.get(posicion)).setNombre(p.getN ombre());
((Persona)personas.get(posicion)).setApellido(p.ge tApellido());
Chimpancé
Re: Problemas de compilación con ArrayList
fijate bien que no tiene sentido el metodo setPersona(int posicion,Persona p); si tenes la persona.
ahora si no tenes la persona y queres modificar la persona que esta en una posicion de la lista. Podrias utilizar otros metodos para obtener la persona y modificarla luego. Podrias por ejemplo sobreescribir hashCode() en Persona y formar un ID con algunos atributos de la persona y esto lo metes en un HashMap(key,value). Con key = ID y Value= persona. y ahora la parametrizacion de hashMap seria. Map<String,Persona> personas= new HashMap<String,Persona>();. Proba eso.
 
Respuesta



Herramientas Buscar en este tema
Buscar en este tema:

Búsqueda avanzada
Califica este tema
Califica este tema:


Este tema está relacionado con otros ya publicados en el sitio. Podés visitarlos ahora!
Tema Iniciado por Foro Resp. Último mensaje
ArrayList - ayuda.. Guchito Programación 4 28.11.2007 00:49 hs.
Ayuda con ArrayList martinarnesi Programación 2 31.10.2006 15:32 hs.
Duda urgente con arraylist pelusa (10) Desarrollo Web 0 26.06.2006 11:37 hs.
problemas con la compilacion del kernel alitox GNU / Linux 1 11.04.2004 15:04 hs.
Problemas de Compilacion bajo MS-DOS (jue) Kaos_Engine GNU / Linux 2 13.06.2003 09:19 hs.

Ranking de temas y usuarios de este foro
Temas populares Usuarios más activos
• Crear un archivo de Excel desde C# con WebForms
• VBScript envio Correo Electronico Automatico...
• Mejor lugar para estudiar Analista...
• Programacion general desde cero
• Obtener un valor de otro Formulario en c#
• eldelosforos
• ktuluk2110
• -dAviD-
• sysseon
• mianga18


 
Ir arriba
Contacto | Acerca de | Ayuda | Términos Legales | privacidad | Pautas de convivencia | Mapa de los foros | TrabajÁ con nosotros
©2008 Psicofxp.com S.A. - Todos los derechos reservados
Certifica IAB