因此而改寫一些代碼,我碰到的東西走過的線路:的Java while循環
方法1
while (iter.hasNext()) {
Object obj = iter.next();
if (obj instanceof Something) {
returnValue = (Something) obj;
break;
}
}
我重新寫了它因爲沒有過多考慮以下(在重新寫入的實際目的是在該方法中的其它邏輯):
方法2
while ((iter.hasNext()) && (returnValue == null)) {
Object obj = iter.next();
if (obj instanceof Something) {
returnValue = (Something) obj;
}
}
我個人沒有任何強烈的偏好,也沒有發現任何一種方法都有問題。任何人都可以考慮使用這兩種方法的好處或後果嗎?返回變量returnValue。人們會如何感覺這是否是該方法的最後一塊,並且只是返回?
編輯:所以這裏是我在做什麼:目前這個方法需要一組授權和驗證它們 - 返回一個布爾值。此方法允許分組,因此您可以指定至少一個或全部(即如果至少一個授權有效,則傳遞整個集合)。但是,這種方法不支持授權級別,我正在修改授權級別,以便每個級別都可以指定不同的分組。所有這些只是背景信息......與上面的代碼沒有多大關係 - 使用另一種方法來執行上述代碼塊。
想到這個更多,看着各種答案。看起來使用'break'是首選,因爲它具有更強的含義,稍微(?)更好的表現(少檢查)。 – nevets1219 2010-02-26 17:43:36