2014-02-19 3 views
1

var에 lockHolders의 잠금을 해제 할 방법 java.util.Vector의를 반환합니다. lockHolders [0] == currentUser 그러나, currentUser가 다중 값 목록에있는 이름 중 하나 인 경우 당신이 그것을 처리 어떻게getLockHolders는 특정 사용자에 대한

if (lockHolders[0] == currentUser){ 
    document.unlock(); 
} 

내가 제거 할 수 있다면 아주 간단 문서를 잠금 해제해야 lockHolders 벡터 목록에서 currentUser하지만 setLockHolders 없습니다 그냥 replaceItemValue ("LockHolders", lockHolders) 할 수 있습니까? 나는 lockHolders가 일반적으로 단일 값일 것이고 어떤 조건이 Vector에서 여러 이름을 허용하는지 확신하지 못한다고 생각합니다.

답변

2

lockHolder에는 하나의 값만 포함될 것으로 기대됩니다. 결국 자물쇠가 의미하는 바입니다. 당신이 슈퍼 방어 코드를하려는 경우에는이 시도 :

var lockHolders:java.util.Vector = document.getLockHolders(); 
for (var curHolder in lockHolders) { 
    if (curHolder.toString() === currenUser) { 
     document.unlock(); 
     break; 
    } 
} 

Vector 실제로 객체의 집합을 반환, 그래서 .toString()을 사용하여 확인 할 수 있습니다. 그런 다음 === (예 - 3 명)은 데이터 유형을 변환하지 않고 비교를 수행합니다. 예상대로 벡터에 하나의 값이 있으면 루프가 한 번 실행됩니다. 문서가 잠겨 있지 않은 경우 (벡터에 빈 요소가 있거나 비어있는 경우 다시 호출 할 수 없음) 루프는 실행되지 않으며 (벡터가 비어있는 경우) 또는 비교 false 일 때 실행됩니다.

그게 효과가 있습니까?

+0

이 작동 것이다, 나는 (lockHolder.contains (currUser가)) { // 다른 뭔가를 할 경우 당신의 코드가있다} {다른 을 {뭔가 을 //} 경우 (lockHolder.isEmpty를) 사용 비트 클리너 –

관련 문제