只是想知道是否有一种方法可以在Java中克隆NamingEnumeration?我的程序在LDAP服务器上搜索人员,这可能需要几秒钟才能完成。为了获得结果数,我使用以下方法:

NamingEnumeration results = null;
NamingEnumeration results2 = null;

results = ctx.search("", "("+searchAt+"=" +searchVal +")", controls);
results2 = result;
int i = 0;
while(results2.hasMore())
{
    results2.next();
    i++;
}


但是由于results2只是在我显示结果时对结果的引用result.hasMore()将始终返回false。

有没有一种方法可以克隆“结果”而不必重新执行搜索并将其分配给“ results2”?

谢谢,-Pete

最佳答案

使用Collections.list(results)将结​​果放入列表中,然后使用List.size获取计数,并遍历列表。

09-27 02:44