如何将值设置为整数?

时间:2015-01-28 12:29:39

标签: java casting jtable

是否可以仅使用整数输入单元格?这是我的代码。

@Override
public boolean isCellEditable(int row, int col) {
    return col == 3;
}

@Override
public void setValueAt(Object value, int row, int col) {
    data[row][col] = value;
    fireTableCellUpdated(row, col);
}

3 个答案:

答案 0 :(得分:0)

是。使用 instanceof 检查对象是否为Integer类型。 (Usage Example

如果要发送String并且您想检查它是否为整数,请使用

  

的Integer.parseInt((字符串)值)

当值不可解析或值不是String类型时,它会抛出异常。您可以相应地实施控制。

答案 1 :(得分:0)

简单的解决方案:

@Override
public void setValueAt(Object value, int row, int col){

    if(!isIntegerValue(value)) {
        throw new Exceoption("not integer value");
    }

    data[row][col]=value;
    fireTableCellUpdated(row, col);
}

private boolean isIntegerValue(Object value) {
    return value instanceof Integer;
}

答案 2 :(得分:0)

检查valuevalue instanceof Integer)的类型,如果它不是整数则抛出异常。除非你不想使用某种包装器,否则在编译时没有机会确保value的类型,而你必须保留方法的标题。