- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我的应用程序在 LDAP 服务器中搜索人员。
return ldapTemplate.search("", "(objectclass=person)", new AttributesMapper() {
public Object mapFromAttributes(Attributes attrs)
throws NamingException {
return attrs.get("cn").getAll();
}
});
它返回 NamingEnumeration
对象的列表,其中包含 vector 。每个 vector 可能包含一个或多个值。我可以通过这段代码打印人名
for(NamingEnumeration ne : list){
while (ne.hasMore()) {
System.out.println("name is : " + ne.next().toString());
}
}
因为我的 ldap 搜索可以包含多个值,所以在 NamingEnumeration
对象内的 vector 中。如何从中获取多个值。
最佳答案
因为您正在使用 java.util.List
的 javax.naming.NamingEnumeration<java.util.Vector>
比如这个,
List<NamingEnumeration<Vector>> list
您应该能够遍历 Vector
在每个NamingEnumeration
:
for (NamingEnumeration<Vector> ne : list) {
while (ne.hasMore()) {
Vector vector = ne.next();
for (Object object : vector) {
System.out.println(object);
}
}
}
请注意 Vector
被许多人认为是过时的,尽管没有被弃用。此外,封闭的集合可以使用类型参数。如果您有选择,请考虑以下替代方案之一:
List<NamingEnumeration<Vector<T>>>
List<NamingEnumeration<List<T>>>
关于java - 从 NamingEnumeration 中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8487544/
只是想知道是否有一种方法可以在 Java 中克隆 NamingEnumeration?我的程序在 LDAP 服务器中搜索人员,可能需要几秒钟才能完成。要获得我使用以下结果的数量: NamingEnum
我正在尝试从命名枚举中获取元素。namingenumeration 本身不为 null,但 hasNext() 给了我 false。 我做错了什么? public static void main(S
我的应用程序在 LDAP 服务器中搜索人员。 return ldapTemplate.search("", "(objectclass=person)", new AttributesMapper()
我正在尝试根据从 Oracle 数据库获取的 userId 列表查询 ldap。如果帐户存在于 LDAP 中,我想更改给定对象的两个值。我遇到的问题是,由于某种原因,结果永远不会为空,因此我的代码总是
我编写了以下代码以从 LDAP 获取结果。从结果中,我需要提取一个条目并对其执行操作。这段代码运行良好。但问题是当我试图为它编写单元测试时。我需要加载测试数据或以某种方式模拟一些东西来为这段代码编写测
我正在尝试搜索 LDAP 服务器(Active Directory)。当我解析搜索结果时,NamingEnumeration 的 hasMoreElements 方法在返回 false 时需要大约 1
我想在 LDAP 服务器中查找数据。当我使用以下代码时,它希望我拥有 NamingEnumeration (不是 List、HashMap),并且还强制我使用 SearchResult 类型。 Nam
我是一名优秀的程序员,十分优秀!