2013-10-31 41 views
0

我想知道,這將是更有效地做這樣的事情:調用setVisible()效率

setVisible(false) // if the component is invisible 

或像這樣:

if(isVisible()){ 
     setVisible(false) 
    } 
+0

那麼這取決於你的邏輯......如果你只是想隱藏的元素,然後使用第一個語句,或者如果你想檢查元素是否可見然後隱藏,然後使用第二 – Pratik

+0

這裏沒有邏輯的區別。如果在第二種情況下,這是多餘的。 – Kayaman

回答

6

這有什麼好做的效率。使用第一個,它更簡單,可能已經包含setVisible()方法內的可見性檢查。

當你編寫代碼時,不要試圖去考慮效率,特別是在像這樣荒謬的小例子中。你在一臺多GHz計算機上運行,​​所以你只是像這樣浪費你的時間在微型優化上。

+1

好吧,那就是我真正想知道的。我只是偏執狂,因爲我的老師喜歡取消代碼冗餘的積分。 – Progaine

3

setVisible()JComponent執行已經呼叫isVisible(),所以添加一個冗餘呼叫不是更有效率。無論如何,這將是一個不可能的事情,它會是任何一種性能瓶頸。

0

您的第二個示例合理的唯一情況是在打開和關閉可見性的情況下。

if(isVisible()){ 
    setVisible(false); 
}else{ 
    setVisible(true); 
}