Java CompositeData没有keys()方法?
我正在使用JMX从远程进程保存一些诊断信息。查看jconsole中的接口可以看出返回类型是(数据实际上返回为)。我想输出与此对象关联的所有键/值对 问题是接口似乎只有一个“values()”方法,无法获取键。我是不是遗漏了什么?是否有其他方法来完成此任务Java CompositeData没有keys()方法?,java,jmx,diagnostics,jconsole,Java,Jmx,Diagnostics,Jconsole,我正在使用JMX从远程进程保存一些诊断信息。查看jconsole中的接口可以看出返回类型是(数据实际上返回为)。我想输出与此对象关联的所有键/值对 问题是接口似乎只有一个“values()”方法,无法获取键。我是不是遗漏了什么?是否有其他方法来完成此任务 谢谢 如果我没弄错的话,你可以 Set< String > keys = cData.getCompositeType().keySet(); Setkeys=cData.getCompositeType().keySet();
谢谢 如果我没弄错的话,你可以
Set< String > keys = cData.getCompositeType().keySet();
Setkeys=cData.getCompositeType().keySet();
(假定cData是一个复合数据对象)
您可以找到一个更完整的示例 特别是:
StringBuffer writeCompositeData(StringBuffer buffer,
String prefix, String name, CompositeData data) {
if (data == null)
return writeSimple(buffer,prefix,name,null,true);
writeSimple(buffer,prefix,name,"CompositeData("+
data.getCompositeType().getTypeName()+")",true);
buffer.append(prefix).append("{").append("\n");
final String fieldprefix = prefix + " ";
for (String key : data.getCompositeType().keySet()) {
write(buffer,fieldprefix,name+"."+key,data.get(key));
}
buffer.append(prefix).append("}").append("\n");
return buffer;
}
该部分:
for (String key : data.getCompositeType().keySet()) {
[...] data.get(key) [...];
}
成为你所追求的