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

How to convert Attributes to String?

我想将 Attributes 转换为 String 以便我可以 trim 并获取属性值的子字符串。

这是我的代码:

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 数组。错误:

Type mismatch: cannot convert from Attribute to String

到目前为止我已经尝试了以下方法:

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

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

Cannot cast attribute to String.

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

有关更多信息,请参阅 BasicAttribute or javax.naming.directory.Attribute

的 javadoc

查看 Attributes class. You can use getValue(String) 的 Javadoc 以检索特定属性的值。

我建议使用 null-safe Objects.toString() 来获取字符串表示形式——如果 attrs.get() returns 为 null 则不会抛出异常,这可能会在找不到属性时发生:

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