2016-05-03 83 views
1

我似乎无法在这个方法返回变量data返回对象数组方法

public Object[] populateTable(ArrayList<Outlet> outletList, String selection){ 
    Object[] data; 
    for(int i = 0; i<outletList.size(); i++){ 
     if(outletList.get(i).getCity().equalsIgnoreCase(selection)){ 
      if(outletList.get(i).getStatus().equals("ACTIVE")){ 

       String bar = outletList.get(i).getBarangay(); 
       String code = Integer.toString(outletList.get(i).getCode()); 
       String name = outletList.get(i).getName(); 

       data = {bar, code, name};      
      } 
     }    
    } 
    return data; 
} 

NetBeans是说表达的非法启动。有没有办法执行这种方法,其中数据(来自mysql数据库传输到接口中的ArrayList<object>)传递给Object[]?寻找一种方法来填充来自mysql数据库的JTable行数据。

回答

3

错误就出现在这里:

data = {bar, code, name}; 

相反,构建的Object一个新的数组来保存的String实例:

data = new Object[]{bar, code, name}; 

然后你就可以在你的DefaultTableModel调用addRow(data)。在TableAddTest#addRow()中显示了一个完整的示例here

image

+1

参见[*阵列:创建,初始化和访问数组*](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)。 – trashgod