只是想知道是否有一种方法可以在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获取计数,并遍历列表。