在这一点上,retVal = null
一事无成。你给它一个空值。您永远不会有使用该值的代码。然后你给它另一个值,这取决于你是做 if-then 还是 else 部分。
在我添加注释的代码中,您可以使用或更改retVal
.
void A(String pizza) {
String retVal = null;
... code in here could use it or give it a new value ...
if(StringUtils.isBlank(pizza) {
retVal = "blank"
} else {
retVal = computeString(pizza);
}
... additional code here might change it (and can use it's value) ...
}
retVal
在这个中,每次调用该方法时都需要给一个值。您的 if-then-else 代码就是这样做的。给定值后,该值永远不能更改。
retVal
一个区别是编译器会在给它一个值之前告诉你是否使用过。它会合理地告诉您该变量还没有值。
void A(String pizza) {
final String retVal;
... code in here cannot use it or give it a value, too ...
if(StringUtils.isBlank(pizza) {
retVal = "blank"
} else {
retVal = computeString(pizza);
}
... additional code here cannot change it but can use it's value ...
}