我是Java新手,需要在方法返回null和引用变量时找出进程.
这是方法的代码:
public Lot getLot(int lotNumber)
{
if((lotNumber >= 1) && (lotNumber < nextLotNumber)) {
// The number seems to be reasonable.
Lot selectedLot = lots.get(lotNumber - 1);
// Include a confidence check to be sure we have the
// right lot.
if(selectedLot.getNumber() != lotNumber) {
System.out.println("Internal error: Lot number " +
selectedLot.getNumber() +
" was returned instead of " +
lotNumber);
// Don't return an invalid lot.
selectedLot = null;
}
return selectedLot;
}
else {
System.out.println("Lot number: " + lotNumber +
" does not exist.");
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
当一个方法返回null和引用变量时,会有一个类数据类型会发生什么?
请用简单的词语解释.
null是任何Objectin的有效值Java.既然Lot也是一个Java对象.null已验证.
但
如果你不小心,你最终可能会NullPointerException.
例如:
Lot lot=someInstance.getLot(2); // say lot is null
Run Code Online (Sandbox Code Playgroud)
然后
String something=lot.getThis(); // here is null.getThis()
Run Code Online (Sandbox Code Playgroud)
你会在NullPointerException这里结束.
您需要小心处理这些情况以避免NullPointerException.
例如:
Lot lot=someInstance.getLot(2);
if(lot!=null){
String something=lot.getThis();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
96 次 |
| 最近记录: |