如何将属性转换为字符串?

时间:2015-08-20 13:32:20

标签: java hashmap ldap openldap

我想将Attribute转换为String,以便我可以修剪并获取属性值的子字符串。

这是我的代码:

Attribute attrs = match.getAttributes();

NamingEnumeration e = attrs.getAll();
System.out.println(attrs.get("cn"));
System.out.print(attrs.get("uniqueMember"));

unique_members[i] = attrs.get("uniqueMember");

我在最后一行遇到错误,我希望将uniqueMember的值存储到unique_members数组中。错误:

  

类型不匹配:无法从属性转换为字符串

到目前为止,我已尝试过以下内容:

unique_members[i] = (String)attrs.get("uniqueMember");

它没有解决问题,我收到错误:

  

无法将属性转换为String。

3 个答案:

答案 0 :(得分:3)

使用unique_members[i] = attrs.get("uniqueMember").toString()将属性值转换为字符串。

有关更多信息,请参阅BasicAttributejavax.naming.directory.Attribute

的javadoc

答案 1 :(得分:1)

查看Attributes class的Javadoc。您可以使用getValue(String)来检索特定属性的值。

答案 2 :(得分:1)

我建议使用null-safe Objects.toString()来获取字符串表示 - 如果attrs.get()返回null,它将不会抛出异常,如果找不到属性,可能会发生这种情况:

unique_members[i] = Objects.toString(attrs.get("uniqueMember"));