在我的findbugs报告中,以下代码部分中存在SIO_SUPERFLUOUS_INSTANCEOF正确性错误

/** Allow Comparison based on User-Labels */
public int compareTo(AbstractListItem o) {
    if ( !( o instanceof AbstractListItem ) ) {
        // Correctness - Unnecessary type check done using instanceof operator
        // : Method com.x.y.gui.topology.TopologyListNode.compareTo (AbstractListItem)
        // does an unnecessary type check using instanceof operator when it
        // can be determined statically
    return -1;
}


静态确定类型的正确方法是什么?

最佳答案

public int compareTo(AbstractListItem o)-oAbstractListItem,您无需检查。

如果您有public int compareTo(Object o),则将需要您的instanceof并且不会产生警告。

关于java - 查找错误SIO_SUPERFLUOUS_INSTANCEOF,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5715106/

10-10 11:26