簡體   English   中英

如何在Java中打印列表的不同部分

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM