如何将多维数组与数组列表一起使用?

tha*_*sis 1 java

我想从sql查询添加一些记录,但输出不正确.始终返回最后一条记录.

正确的清单是:

约翰

缺口

玛丽

,但总是回归乔.

这是添加元素的方法:

public ArrayList<String[][]> getFiledArrayList()
{
   // ArrayList<String[][]> fieldsList = new  ArrayList<>();
    String[][] tempRow = new String[1][2];
    ResultSet result;

    String sql = "select id, name_of from field";
    result = database.exeQueryStatement(sql);
    try 
    {
        while(result.next())
        {
            tempRow[0][0] = result.getString("id");
           // System.out.println(tempRow[0][0]);
            tempRow[0][1] = result.getString("name_of");
           // System.out.println(tempRow[0][1]);
            fieldsList.add(tempRow);
            System.out.println(fieldsList.get(0)[0][1]);
        }
    } 
    catch (SQLException ex) 
    {
        Logger.getLogger(FieldManage.class.getName()).log(Level.SEVERE, null, ex);
    }

    return fieldsList;
Run Code Online (Sandbox Code Playgroud)

我把idname_of一个String[1][2]表,我想显示name_of在的JComboBox.Ι要进行插入和观赏name_ofid

FieldManage fieldmanage = new FieldManage();
   ArrayList<String[][]> listOfField;
   listOfField = fieldmanage.getFiledArrayList();
   String[] fields = new String[listOfField.size()];
   System.out.println(listOfField.get(0)[0][0]);
   for (int i=0; i<listOfField.size(); i++)
   {
        fields[i] = listOfField.get(i)[0][1];
        System.out.println(fields[i]);//test print show always joe!
    }
     jComboFields.setModel(new javax.swing.DefaultComboBoxModel(fields));
Run Code Online (Sandbox Code Playgroud)

这段代码总是返回Joe.

另外我想知道是否有更好的方法来匹配jcombo元素id.

NPE*_*NPE 6

填充时fieldsList,重复添加对同一对象的引用(tempRow).当您的循环修改内容时tempRow,所有先前添加的条目也会更改(因为它们是同一个对象).

在循环内移动以下行:

String[][] tempRow = new String[1][2];
Run Code Online (Sandbox Code Playgroud)