无法比较的类型(int和obj)(bug?)

时间:2014-12-17 14:47:59

标签: java object netbeans integer operators

我不知道这是不是一个错误。 我将NetBeans 7.4与java 7一起使用。

 private void btnaddActionPerformed(java.awt.event.ActionEvent evt) {                                       
     try{
        boolean b = false;
        for(int j=0; j < dt.getRowCount() ;j++){
                if(Integer.parseInt(txtid.getText()) == dt.getValueAt(j, 0));
                b = true;
                break;
        }
        if(b == false){
            St.executeLargeUpdate("Insert into books values("+txtid.getText()+",'"+txtname.getText()+"','"+txtauthor.getText()+"','"+txtjanr.getText()+"')");
        }else{
            JOptionPane.showMessageDialog(null,"Exists");
        }
     }catch(Exception e){
        JOptionPane.showMessageDialog(null, "Error in adding\n"+e.getMessage());
    }
}

此处发生错误:

if(Integer.parseInt(txtid.getText()) == dt.getValueAt(j, 0));

将Java版本从7更改为8并没有帮助。 这个空白对我来说非常重要,我已经按照教程进行了操作,所以我知道它是正确的(我正在制作与视频相同的项目)。但是,在我的项目中出现了错误。 提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

你的if条件结尾处有一个分号,这意味着它的评估结果是真还是假并不重要:

if(Integer.parseInt(txtid.getText()) == dt.getValueAt(j, 0));

我想你想做这样的事情:

if(Integer.parseInt(txtid.getText()) == dt.getValueAt(j, 0)) {
    b = true;
    break;
}