Java - por que sale este error [Ljava.lang.Object; cannot be cast to ?

 
Vista:
sin imagen de perfil
Val: 20
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que sale este error [Ljava.lang.Object; cannot be cast to ?

Publicado por fanny (16 intervenciones) el 13/03/2018 17:50:25
Hola, les comento, tengo una lista a la cual le paso un find y a la hora de pintar esa lista en consola, sale lo siguiente:

PRUEBA NUEVA LISTA BIOMETRIOC
[[Ljava.lang.Object;@5e45ebba, [Ljava.lang.Object;@64e65a0b, [Ljava.lang.Object;@4d96ba80,n]

Tengo el siguiente codigo
1
2
3
4
5
private List<RegistroAcceso> listRegistroAcceso;
//prueba lista biometricos
listRegistroAcceso = registroAccesoService.findRegistroAccesoByNuserid1(cvePersona);
 
System.out.println("PRUEBA NUEVA LISTA BIOMETRIOC\n" +listRegistroAcceso);

Porque me pinta eso y no mis datos?

luego quiero tratar de mostrar un atributo de esa lista
1
System.out.println("PRUEBA BIOMETRICO" +listRegistroAcceso.get(0).getNreaderidn());

y sale el error: java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to mx.gob.sre.sicoin.domain.RegistroAcceso

porque sale ese error?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que sale este error [Ljava.lang.Object; cannot be cast to ?

Publicado por Yamil Bracho (2315 intervenciones) el 13/03/2018 18:04:57
Cuando haces
System.out.println("PRUEBA NUEVA LISTA BIOMETRIOC\n" +listRegistroAcceso);
Lo que se hace es
System.out.println("PRUEBA NUEVA LISTA BIOMETRIOC\n" +listRegistroAcceso.toString());
Si no has rescrito el metodo toString() para la lista el comportamiento de este metodo es imprimir el tipo de objeto y al direccion en memoria donde se encuentra el dato
Asi que sobrescribe toString() para la clase RegistroAcceso

En el segundo caso listRegistroAcceso.get(0) te esta retornan un Object y no un objeto del tipo RegistroAcceso
Prueba con

System.out.println("PRUEBA BIOMETRICO" + (listRegistroAcceso.get(0).getNreaderidn()));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 20
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

por que sale este error [Ljava.lang.Object; cannot be cast to ?

Publicado por fanny (16 intervenciones) el 13/03/2018 18:25:39
es correcto asi?, me sale lo mismo
1
2
3
4
@Override
public String toString() {
    return "RegistroAccesoComponentImpl{" + "listRegistroAcceso=" + listRegistroAcceso + '}';
}

lo agregue dentro de la misma clase donde tengo el codigo de mi lista
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar