2013-04-28 36 views
0

我在全局創建對象爲。如何動態初始化java中的Object []?

public Object[] columns2; 

我在代碼執行某些操作:

Statement st = con.createStatement(); 
ResultSet rs = st.executeQuery("SELECT * FROM "+Gtest+""); 
ResultSetMetaData rsmd = rs.getMetaData(); 
NumOfCol = rsmd.getColumnCount(); 
for(int n=0;n<NumOfCol;n++) 
    { 
    columns2[n]=rsmd.getColumnName(n+1); 
    } 

爲columns2應該像

Object[] columns2={"FirstName","LastName","Age"}; 

但它在for循環給NullPointerException異常。

應該做什麼改變?

回答

5

在推送數據之前,您必須首先啓動columns2

columns2 = new Object[NumOfCol]; 
1
​​
+0

@maxim和所有 thanxxxxxxxxxxx alooooooooot wohaaaa我的程序正在工作。 – 2013-04-28 18:35:56

1

您還沒有初始化columns2。可以按如下方式更改代碼:

Statement st = con.createStatement(); 
ResultSet rs = st.executeQuery("SELECT * FROM "+Gtest+""); 
ResultSetMetaData rsmd = rs.getMetaData(); 
NumOfCol = rsmd.getColumnCount(); 
columns2 = new Object[NumOfCol]; 
for(int n=0;n<NumOfCol;n++) 
{ 
    columns2[n]=rsmd.getColumnName(n+1); 
} 

這應該使你的代碼工作。儘管我會像Arraylist一樣查看其他數據結構,如果性能等事情對您很重要。