var lockHolders:java.util.Vector = document.getLockHolders()
返回当前锁定持有者的列表。如果lockHolders [0] == currentUser,我需要解锁文件非常简单 但是,如果currentUser是多值列表中的名称之一
,如何处理它if (lockHolders[0] == currentUser){
document.unlock();
}
我可以从lockHolders中的Vector列表中删除currentUser,但是没有setLockHolders我可以只执行replaceItemValue(“LockHolders”,lockHolders)吗? 我认为lockHolders通常是单值,并且不确定Vector中允许多个名称的条件。
答案 0 :(得分:2)
我希望lockHolder只包含一个值。毕竟这就是锁的意图。但是,如果你想编码超级防守,试试这个:
var lockHolders:java.util.Vector = document.getLockHolders();
for (var curHolder in lockHolders) {
if (curHolder.toString() === currenUser) {
document.unlock();
break;
}
}
Vector
实际上会返回一组对象,因此请确保使用.toString()
。然后===
(是 - 其中三个)进行比较而不尝试转换数据类型。如果预期的Vector有一个值,则循环运行一次。如果文档未被锁定(如果Vector有空元素或者为空则无法调用),则循环不运行(如果Vector为空)或者比较为false。
这对你有用吗?