为了账号安全,请及时绑定邮箱和手机立即绑定

getAllEntriesByKey 导致错误:Vector 中的对象类型未知或不受支持

getAllEntriesByKey 导致错误:Vector 中的对象类型未知或不受支持

一只名叫tom的猫 2021-09-29 13:49:10
我在 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 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

您是否检查过您的变量key不为空?如果我提供的关键参数为空,我会收到此错误消息。


查看完整回答
反对 回复 2021-09-29
?
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) {....})


查看完整回答
反对 回复 2021-09-29
?
心有法竹

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

当您从代码中删除 -> 时,它是否按预期工作?


查看完整回答
反对 回复 2021-09-29
  • 3 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信