我想删除行,如果第一行字符串“Windows”但是,它不能正常工作,如果字符串值是“Windows”,它会删除行
我的代码。任何帮助将不胜感激。 :)
for (int i = 0; i < model.getRowCount(); i++) {
if ((String) model.getValueAt(i, 0) != "Windows") {
model.removeRow(i);
}
}
答案 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}}