2013-10-31 8 views
0
궁금

, 그것은 같은 것을 할 것이 더 효율적이 될 것이다 : 는, setVisible() 효율성

setVisible(false) // if the component is invisible 

또는 같은

:

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

잘 그것은 당신의 논리에 따라 달라집니다 ... 그냥 요소를 숨기려면 다음 1 일 문을 사용하거나 요소가 여기에 어떤 로직 차이가 없습니다 2 – Pratik

+0

을 사용하여 다음 숨길 표시할지 여부를 선택하십시오. 두 번째 경우에만 불필요한. – Kayaman

답변

6

이 효율성과는 아무 상관이 없습니다. 첫 번째 코드를 사용하면 더 간단하고 이미 setVisible() 메소드 내부에 가시성 검사가 포함되어있을 수 있습니다.

코드를 작성할 때 효율성에 대해 생각하지 마십시오. 특히 이런 경우는 매우 어리 석습니다. 다중 GHz 컴퓨터에서 실행되므로 이러한 미세 최적화 작업에만 시간을 낭비하게됩니다.

+1

알았어, 그게 내가 정말로 알고 싶었던거야. 선생님이 코드 중복을위한 점수를 없애기 때문에 나는 편집증에 빠졌습니다. – Progaine

3

setVisible()JComponent이 이미 isVisible()을 호출하므로 중복 호출을 추가하는 것이 더 효율적이지 않습니다. 어쨌든, 그것은 어떤 종류의 퍼포먼스 병목이 될 것 같지 않을 것입니다.

0

두 번째 예제가 의미있는 유일한 경우는 가시성을 켜거나 끄는 경우입니다.

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