在此代码段中:
s = ExtLibUtil.getCurrentSession();
Vector<String> groups = s.getUserGroupNameList();
if (debug) System.out.println("User groups are " + groups);
Boolean n = groups.contains("Notes_Admin");
if (debug) System.out.println("n = " + n);
if ( n ){
if (debug) System.out.println("Groups Contains Notes_Admin");
}else{
if (debug) System.out.println("Groups does not contain Notes_Admin");
}
Run Code Online (Sandbox Code Playgroud)
即使我知道Vector组确实包含值"Notes_Admin",n的值总是返回false.我也尝试了groups.indexOF("Notes_Admin"),它总是返回-1.我猜我在那里某处有错误的类型,但我已经尝试了所有我能想到的组合.getUserGroupsNameList表示它返回一个Vector.
原因是Session getUserGroupNameList()没有返回字符串列表而是返回列表lotus.domino.local.Name.
将您的代码更改为
import lotus.domino.local.Name;
...
Vector<Name> groups = s.getUserGroupNameList();
System.out.println("User groups are " + groups);
Boolean n = false;
for (Name group : groups) {
if (group.getCommon().equals("Notes_Admin")) {
n = true;
break;
}
}
System.out.println("n = " + n);
Run Code Online (Sandbox Code Playgroud)