我遇到了动态表的问题。这是代码:
public static Object[][] extractSCTableData(Hashtable<Integer,Colis> lColis) {
Object[][] tableData = {{}};
int i=0;
Set<Integer>keySet = lColis.keySet();
for (Integer currKey:keySet) {
tableData[i][0]=lColis.get(currKey).expediteur;
tableData[i][1]=lColis.get(currKey).noColis;
tableData[i][2]=currKey;
i++;
}
return tableData;
}
我有一个例外而且我不知道为什么......错误:
java.lang.ArrayIndexOutOfBoundsException: 0
显然我不知道如何宣布我的标签! 奇怪的是,我有相同类型的方法(在另一个类中)没有错误。 另一种方法:
public static Object[][] extractSCTableData(Course[] lCourse)
throws ExceptionColisInconnu {
int nbCourse = lCourse.length;
Object[][] tableData = { {} };
for (int i = 0; i < nbCourse; i++) {
short noColis = lCourse[i].noColis;
String etat;
org.omg.CORBA.ORB orb;
String[] str = {};
orb = org.omg.CORBA.ORB.init(str, null);
G_Colis g_colis = (G_Colis) orb
.string_to_object(lCourse[i].IORG_Colis);
switch (g_colis.demandeEtat(noColis).value()) {
case etatColis._enTransport:
etat = "En cours";
break;
case etatColis._aDestination:
etat = "Livré";
break;
case etatColis._auDepart:
case etatColis._enAttenteDeTransport:
etat = "Enregistrée";
break;
default:
etat = "Non Défini";
break;
}
tableData[i][0] = Short.toString(noColis);
tableData[i][1] = etat;
}
return tableData;
}
如果sombebody看到的东西...... 谢谢你们
答案 0 :(得分:3)
没有tableData[0][1]
和tableData[0][2]
,因为Object[][] tableData = {{}};
定义了一个维度为[1] [0]的数组
答案 1 :(得分:1)
Object[][] tableData = new Object[lColis.keySet().length][3];