[英]How to print different parts of a List in Java
我想知道如何在Java中打印一個列表,其中每個位置都有一個字符串和一個整數。
List pasajeros = new ArrayList();
我這樣插入數據:
public void insert(List a) {
System.out.print("Name: ");
name= sc.nextLine();
System.out.print("Number: ");
number= sc.nextInt();
ClassName aero = new ClassName(name, number);
a.add(aero);
}
}
它似乎像這樣工作,但是在syso中給了我一個錯誤。
因此,您有一個ClassName
列表。
要打印它們,您可以簡單地使用for循環:
List<ClassName> pasajeros = new ArrayList<>();
// + insert elements
for (ClassName cn : pasajeros) {
System.out.println("Name: " + cn.getName() + ", number: " + cn.getNumber());
}
您在打印對象時不會覆蓋toString方法。
list.Aerolinea@154617c意味着您正在打印對象哈希碼..因此,您的問題不在插入,而是在打印出列表所保存的對象,在這種情況下,您的Aerolinea類必須正確覆蓋toString方法。
就像是:
class Aerolinea {
private String nombre;
private String apellido;
@Override
public String toString() {
return "Aerolinea [nombre=" + nombre + ", apellido=" + apellido + "]";
}
}
嘗試在類中使用put方法toString。
public class Aerolinea {
String nombre;
.......
.......
public String toString() {
return "nombre" = nombre;
}
}
好的,我終於修復了它,這很愚蠢...我忘了在方法中寫<ClassName>。 這是最終代碼
public void vertodo(List<Aerolinea> a) {
for (Aerolinea cn : a) {
System.out.println("Name: " + cn.name+ " ID: " + cn.id);
}
}
因為我創建它的方式類似於List pasajeros = new ArrayList();
,然后將其更改為List<Aerolinea> pasajeros = new ArrayList();
。
盡管我不能像某些人建議的那樣在ArrayList之后寫最后的<>為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.