¿cómo puedo imprimir el elemento "e" en arraylist "list" a cabo?
ArrayList<Dog> list = new ArrayList<Dog>();
Dog e = new Dog();
list.add(e);
System.out.println(list);
¿Quieres imprimir toda la lista o quieres iterar a través de cada elemento de la lista? En cualquier caso, para imprimir algo con sentido, tu clase Dog
necesita sobreescribir el método toString()
(como se menciona en otras respuestas) de la clase Object
para devolver un resultado válido.
public class Print {
public static void main(final String[] args) {
List<Dog> list = new ArrayList<Dog>();
Dog e = new Dog("Tommy");
list.add(e);
list.add(new Dog("tiger"));
System.out.println(list);
for(Dog d:list) {
System.out.println(d);
// prints [Tommy, tiger]
}
}
private static class Dog {
private final String name;
public Dog(final String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
}
La salida de este código es:
[Tommy, tiger]
Tommy
tiger
Primero asegúrate de que la clase Dog
implementa el método public String toString()
luego usa
System.out.println(list.get(index))
donde index es la posición dentro de la lista. Por supuesto, ya que usted proporciona su implementación puede decidir cómo se imprime el perro.