数组异常未插入的值

时间:2016-03-10 17:37:27

标签: java swing netbeans-8

我有两个JTable个。例如TB1和TB2,每个只有一列。

每个表都包含一些值。或者第二个表可能是空的。 我只需要

  1. 将TB1的值添加到TB2。

  2. 还需要比较两个表值并将其写入TB2,而不进行复制

    我正在使用netbeans-8。

    String[] Ary = {};
    Vector R_D=new Vector();
    int found=0;
    for(int i=0;i<=t1.getRowCount()-1;i++){
        System.out.println(t1.getRowCount());
    
            for(int j=0;j<=t2.getRowCount()-1;j++){
    
                    if(t1.getValueAt(i, 0)!=t2.getValueAt(j, 0)){
                        System.err.println("Compare "+t1.getValueAt(i,     0)+"and "+t2.getValueAt(j, 0));
    
                        found=0;
                    }
                    else{
                        found=1;
                        System.err.println("Found Match at +t1.getValueAt(i,  0)+"and "+t2.getValueAt(j, 0));
                    }
    
            }
            if(found==0){
                        Ary[i]=t1.getValueAt(i, 0).toString();                    
                        R_D.add(t1.getValueAt(i, 0).toString());
            }
                ((DefaultTableModel) t2.getModel()).insertRow(i, R_D);
    }
    

    在这一部分 Ary[i]=t1.getValueAt(i, 0).toString();
    我收到一些错误消息,如:

  3. Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 0

    如何避免此异常?

1 个答案:

答案 0 :(得分:4)

String[] Ary = {};

您正在创建一个空数组。

也许你想要这样的东西:

String[] array = new String[t1.getRowCount()];

现在你有一个与表中行数相同的数组。