2012-04-04 10 views
3

Ich arbeite mit einem Array und brauche etwas Hilfe. Ich möchte ein Array erstellen, bei dem das erste Feld ein String-Typ und das zweite Feld ein Integer-Typ ist. Ergebnis zu:Multiple Typ Array

Konsole aus

a 1 
b 2 
c 3 
+0

was haben Sie versucht? http://mattgememm.com/2008/12/08/what-have-you-tried/ –

+0

Überprüfen Sie diesen Link http://stackoverflow.com/questions/4393027/mixed-arrays-in-c- und-c-shar –

Antwort

11

Ein Array kann nur einen einzigen Typ haben. Sie können eine neue Klasse erstellen, wie:

Class Foo{ 
    String f1; 
    Integer f2; 
} 

Foo[] array=new Foo[10]; 

Sie auch interessieren könnten eine Karte in Verwendung (es mir scheint, wie Sie versuchen, Strings ids abzubilden).

EDIT: Sie könnten auch Ihr Array des Typs Objekt definieren, aber das ist etwas, was ich normalerweise vermeiden würde.

6

Sie könnten ein Array vom Typ Objekt erstellen und dann, wenn Sie an die Konsole drucken Sie das toString() jedes Elements aufzurufen.

Object[] obj = new Object[]{"a", 1, "b", 2, "c", 3}; 
for (int i = 0; i < obj.length; i++) 
{ 
    System.out.print(obj[i].toString() + " "); 
} 

Wird Ausbeute:

a 1 b 2 c 3

-2

Vector versuchen, anstelle von Array verwenden.

+0

Warum wird Vector helfen und warum wird Array nicht funktionieren? –

+0

Diese Antwort behandelt die Frage nicht im Geringsten! – Eric

0
Object[] randArray = new Object [3]; 
randArray[0] = new Integer(5); 
randArray[1] = "Five"; 
randArray[2] = new Double(5.0); 

for(Object obj : randArray) { 
    System.out.println(obj.toString()); 
} 

Ist das wonach Sie suchen?

0
Object[] myArray = new Object[]{"a", 1, "b", 2 ,"c" , 3}; 

    for (Object element : myArray) { 
     System.out.println(element); 
    } 
0
Object [] field = new Object[6]; 
field[0] = "a"; 
field[1] = 1; 
field[2] = "b"; 
field[3] = 2; 
field[4] = "c"; 
field[5] = 3; 
for (Object o: field) 
    System.out.print(o); 
+0

Ihre Lösung ist kein sehr flexibler Ansatz ... – xmoex

+0

@xmoex: Die Lösung ist in Ordnung, außer hier wird das Array in grober Weise initialisiert. –

+0

Dieses Objekt [] myArray = neues Objekt [] {"a", 1, "b", 2, "c", 3}; ist nur syntaktischer Zucker und für diese Frage ist meine Lösung in Ordnung. – chalimartines