如果行具有特定值JAVA,则DefaultTablemodel删除行

时间:2016-08-26 18:30:36

标签: java defaulttablemodel

我想删除行,如果第一行字符串“Windows”但是,它不能正常工作,如果字符串值是“Windows”,它会删除行 我的代码。任何帮助将不胜感激。 :)

                                    for (int i = 0; i < model.getRowCount(); i++) {
                                        if ((String) model.getValueAt(i, 0) != "Windows") {
                                            model.removeRow(i);
                                        }
                                    }

3 个答案:

答案 0 :(得分:1)

直接与equals比较字符串

请记住,删除行会减小模型的大小,您可以控制在删除行时减去迭代次数,而不是进行所有比较

for (int i = 0; i < model.getRowCount(); i++) { 
   if (!model.getValueAt(i, 0).equals("Windows")){

   model.removeRow(i);
   i-=1;  // 
  }

答案 1 :(得分:0)

你可以这样使用

if (!model.getValueAt(i, 0).equals("") && model.getValueAt(i, 0).equalsIgnoreCase("Windows"))
{
 model.removeRow(i);
}

对于String比较,我们总是倾向于使用equals方法。如果你想要你可以像model.getValueAt(i,0)那样进行空检查!= null。

答案 2 :(得分:0)

它有效,但我有很多行它只删除一行,如果我想删除所有值,如果值不相等,我必须单击一个树&#34; Windows&#34; {{ 3}}