2017-08-20 3 views
-3

Ich brauche ein Array mit folgender Struktur zu erzeugen:Zeige Elemente eines Arrays von mehreren Arten

{int, String, String, int} 

Ich möchte wie das dieses Array in ein anderes Array einfügen:

{int, String, String, int}, {int, String, String, int}, ... and so on. 

Ich habe dies bereits versucht:

Object[] vector = new Object[100]; 

public void inserare(int poz, int nr, String nume, String prenume, int nota){ 

    Object[] aux = new Object[4]; 
    aux[0] = new Integer(nr); 
    aux[1] = new String(nume); 
    aux[2] = new String(prenume); 
    aux[3] = new Integer(nota); 

    vector[poz] = aux; 

} 

public void afisareLista(){ 

    for(int i = 0; i < vector.length; i++){ 
     System.out.println(vector[i]); 
    } 
} 

Aux eingesetzt wird, aber wenn ich will alle Elemente der Haupt-Array drucken, alles, was ich g et ist so etwas wie dieses:

[Ljava.lang.Object;@15db9742 

Jede Hilfe für die Anzeige korrekt die Elemente sehr geschätzt wird.

Antwort

0

Das Übergeben eines Objekts an System.out.println() führt zum Aufruf der toString()-Methode für die übergebene Instanz. Dies ist eine Object und Object 's toString() gibt die Adresse des Objekts und nicht eine String die Feldnamen mit ihren Werten enthält.

dieses Problem zu adressieren:

Entweder schaffen und eine benutzerdefinierte Klasse verwenden, um diese vier Felder enthalten und Ihr Array mit Instanzen dieser Klasse zu füllen.
Überschreiben Sie dann toString() in dieser Klasse, um den erwarteten String zurückzugeben.

Oder verlassen Sie sich nicht auf toString() aber ein Dienstprogramm Methode erstellen „druckbaren“ String des Objekts zurückzukehren und es in das Argument der println() Methode aufrufen:

System.out.println(renderMessage(vector[i])); 
... 
public String renderMessage(Object[] obj){ 
    return "nr=" + obj[0]+ 
    "nume=" + obj[1]+ 
    "prenume=" + obj[2]+ 
    "nota=" + obj[3]; 
} 
+0

Das ist mein Problem gelöst. Vielen Dank! – icatalin

0

Tun Sie das nicht. Erstellen Sie eine Klasse um Ihr int, String, String, int und geben Sie ihnen sprechende Namen. Dann können Sie Objekte dieser Klasse in Ihr Array/Vektor einfügen und keine Kompilierungssicherheit verlieren.

Verwandte Themen