簡體   English   中英

Java數組可存儲一個類的多個對象

[英]Java array to store multiple object of one class

這是我的班級雇用的

    public class Employe {

public int noEmploye;
public String  nom;
public int departement;
public double salaireBrut;
public double impots;
public double rrgc;
public double assEm;
public double salaireNet;
public double SalaireAnnuel;
public double suplemetaire;

}

這是我的主要

     Employe emp = new Employe();
     emp.noEmploye=123;
     emp.nom= superman;
     emp.departement= 4;

如何將emp.noEmploye,emp.nom,emp.departement放入數組行

像[123,超人,4]的輸出

謝謝你的幫助

坦率

為您的Employee類編寫一個toString函數,它可以執行您希望的任何格式化,然后只需要System.out.println任何Employee實例。

如果你寫例如

public String toString() {
    return "[%d, %s, %d]".format(noEmployee, nom, department);
}

然后創建此類對象的集合,您將獲得如下輸出

[[123, superman, 4], [1234, batman, 5]]

如果必須將所有項目放置在一個數組中,則應這樣進行:

Object[] items = {item1, item2, ...};

您可以認為輸出如下所示:

public String toString(){
    StringBuilder b = new StringBuilder();
    b.append('[');
    for(int i = 0; i < items.length; i++){
        if(i != 0) b.append(", ");
        b.append(items[i]);
    }
    b.append(']');
}

但是,這通常不是一個好主意。 原始數據類型將轉換為包裝的數據類型(即Integer,而不是int)。 這降低了效率。 此外,對於閱讀您的代碼的人來說,這簡直是令人困惑。

如果你想考慮一堆數值,你可以考慮的是:

private static final int NO_EMPLOYEE_OFFSET = 0, DEPARTMENT_OFFSET = 1, ...;
int[] data;
String field1;
Point field2;
...

這樣可以避免對原始數據類型使用包裝器。 但是,它不允許您將所有字段存儲在數組中。

如果選擇執行此操作,請將I提供的toString與Irfy提供的toString結合在一起。

好吧,您可以使用Object[]來存儲不同類型的對象,但這一般不是一個好主意。 在Java中,作為一種靜態類型的語言,通常是使用單一類型的數組。 也許你應該重新考慮你打算構建程序的方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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