I'm writing my own TableModel
implementation. As I shall need a few various implementations sharing some functionality, I decided to prepare an abstract class first. The fields of the table are represented by:
protected Object[][] lines;
Basically all elements in the same column should be of the same type, however column classes may vary among different implementations. I would like to write a common setValueAt
function in the abstract class, checking whether val
is of proper type or not.
@Override
public void setValueAt(Object val, int row, int col) {
if (val instanceof this.getColumnClass(col))
lines[col][row] = val;
}
The compiler signals error here:
Syntax error on token "instanceof", == expected
Why?
The right operand of instanceof
must be a ReferenceType
(JLS 15.20). Use
if (this.getColumnClass(col).isInstance(val))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With