2
何らかの価値があることが保証されているコンテンツがあるとします。あなたの仕事は何かが与えられたらそれを見つけることですlike
それです。nullを返すことを心配することなく、Beanからコンテンツを取得していますか?
これは動作します:
public KVPair getKvpForKey(String keyValue) {
KVPair kvpInThisContent = null;
for (KVPair kvp : kvContent) {
if (kvp.getKey().getAsFound().equals(keyValue)) {
kvpInThisContent = kvp;
break;
}
}
return kvpInThisContent;
}
をこれも動作します:
public KVPair getKvpForKey(String keyValue) {
for (KVPair kvp : kvContent) {
if (kvp.getKey().getAsFound().equals(keyValue))
return kvp;
}
return null;
}
しかし...両方は、いくつかのケースでnull
が返されることがありますことを...可能性を想定しています。これは可能です(コンテンツはそこにあります!)。
null
について心配することなくクリーナーを行う方法はありますか?
アルゴリズムがループを通過することがないと確信している場合は、 'null'を返すか、例外をスローするか' assert false'を返すことができます。 –
右。それを避ける方法はありませんか?この条件は基本的に不可能で、決して起こりません。 nullまたは例外の両方が無駄に見える – JAM
コンパイラに関する限り保証はありません;) –