首页 > 解决方案 > 如何避免“取消引用可能的空指针”警告

问题描述

我在 IDE 中收到“取消引用可能的空指针”警告:

double tmpTermCoeff = tmpTerm.getCoeff();

我不确定如何使用以下代码解决此警告。如果我将“null”替换为“new Term()”,它可以工作,但感觉多余或错误,因为我在 while 循环之后立即创建了它。

while(!tmpList.isEmpty()){
    Iterator<Term> iter = tmpList.iterator();

    Term tmpTerm = null;
    if(iter.hasNext()){
        tmpTerm = new Term(iter.next());
        iter.remove();                
    }

    while(iter.hasNext()){
        if(condition){
            double tmpTermCoeff = tmpTerm.getCoeff();
            iter.remove();
        }
    }
    simpleP.addTerm(tmpTerm);
}

标签: javanullpointerexception

解决方案


while(!tmpList.isEmpty()){
    Iterator<Term> iter = tmpList.iterator();

    Term tmpTerm = null;
    while(iter.hasNext()){
        tmpTerm = iter.next();
        if(condition){
            double tmpTermCoeff = tmpTerm.getCoeff();
        }
    }
    simpleP.addTerm(tmpTerm);
}

推荐阅读