| 

.NET C# Java Javascript Exception

2
Hallo Java Spezialisten,

Achtung ich habe hier eine harte Nuss für Euch!

In einer ArrayList<MyClass> sind n Objekte mit jeweils m Instanzvariablen gelistet. Die Klasse MyClass verfügt über eine Methode getObjList(), die alle m Instanzvariablen in einer LinkedList<Object> auszulesen kann. Gesucht ist eine Methode die aus den beiden Listen ein 2 dimensionales Array[n][m] zaubert, dass ich z.B. als Input für eine javax.swing.table.AbstractTableModel Klasse verwenden kann.

Mein erster Versuch mit der "list.toArray" Methode in der ArrayList Kapselklasse... ;-)

public Object[][] getObjArray() {
return this.arrayListe.toArray(new Object[this.arrayListe.size()][this.arrayListe.get(0).getObjList().size()]);
}


Das Array ist sicher gut dimensioniert aber es gibt eine :
java.lang.ArrayStoreException!!
01.03.2012
mobidat 63 1 7
1 Antwort
1
Die
ArrayStoreException
wird geworfen, weil als Parameter der Methode
public <T> T[] toArray(T[] a)
ein eindimensionales Array erwartet wird, aber ein zweidimensionales Array übergeben wird.

Ich denke, Deine Methode müsste in etwa so aussehen:
public Object[][] getObjArray() 
{
Object[][] ret = null;
if (arrayListe != null && arrayListe.size() > 0)
{
int n = arrayListe.size();
int m = arrayListe.get(0).getObjList().size();
ret = new Object[n][m];
for (j=0; j<n; j++)
{
MyClass mc = arrayListe.get(j);
List<Object> objList = mc.getObjList();
for (k=0; k<m; k++)
{
ret[j][k] = objList[k];
}
}
}
return ret;
}
05.03.2012
ZehnVon12 26 1

Stelle deine Java-Frage jetzt!