我正在執行中Map.Entry<K,V>
的V setValue(V value)
方法,也做了以下w /返回從二傳手舊值O臨時變量:使用最後
@Override public T setValue(T value) {
try {
return this.value;
} finally {
this.value = value;
}
}
它的工作原理,因爲它應該。
我知道有一些關於finally
塊和東西的問題,但我找不到這個具體的問題。什麼是你的關於這個特定用例的想法?這合法嗎?應該避免?如果是,那麼爲什麼或爲什麼不。謝謝!
有趣的模式 - 混淆代碼。只有問題的標題告訴我們,代碼實際上在做什麼;)(老實說 - 我必須先閱讀Tom's和Jon的翻譯才能看到發生了什麼) – 2011-05-18 12:47:28
注意:編譯器仍在創建一個臨時(隱藏)變量碼。 – 2011-05-18 13:19:39