我在 xp:messages 控件中收到以下错误:lotus.domino.local.View 中的错误,第 -2 行:NotesException:Vector 中的对象类型未知或不受支持它是在我的 Java 类中的以下代码中生成的:View vw = db.getView(viewName);if(null != vw){ ViewEntryCollection vec-> vec = vw.getAllEntriesByKey(key);}关键是这里提供的字符串。有人对此有解释吗?
3 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
你传入的是一个字符串,而不是一个向量。您需要创建一个 Vector,然后将您的字符串作为第一个元素添加到其中,就像在 SSJS 中一样。
Vector vec = new Vector();
vec.add(key)
vw.getAllEntriesByKey(vec);
这是 ODA 的方法签名是 的原因之一getAllEntriesByKey(Object key),所以我们的抽象层会为您完成所有工作。另外,一旦得到结果,就可以使用标准 Java 循环来处理循环 ( for (ViewEntry ent : vec) {....})
心有法竹
TA贡献1866条经验 获得超5个赞
有两件事需要考虑。首先是你的语法。代码应该如下
View vw = db.getView(viewName);
if(null != vw){
ViewEntryCollection vec = vw.getAllEntriesByKey(key);
// do something with the vec
}
第二个是异常信息:
向量中未知或不受支持的对象类型。
此处的文档具有方法签名。key您提到的变量是一个字符串,因此该方法应该是您使用过的方法:
public ViewEntryCollection getAllEntriesByKey(Object key) throws NotesException
当您从代码中删除 -> 时,它是否按预期工作?
添加回答
举报
0/150
提交
取消