2
假设您有一些保证有一定价值的内容。你的工作是找到它时给予like
它。从bean中检索内容而不必担心返回null?
这工作:
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
可以返回。虽然很好,但假设我们知道这是不可能的(内容就在那里),这看起来很sl sl。
有没有办法让它更干净而不必担心null
?
如果您确定该算法永远不会通过循环,则可以返回'null'或抛出异常或'assert false'。 – 2012-03-30 17:04:37
对。没办法避免它?这种情况基本上是不可能的,它永远不会发生。 null或异常看起来很浪费 – JAM 2012-03-30 17:05:22
就编译器而言,没有任何保证;) – 2012-03-30 17:05:32