Java CompositeData没有keys()方法?

Java CompositeData没有keys()方法?,java,jmx,diagnostics,jconsole,Java,Jmx,Diagnostics,Jconsole,我正在使用JMX从远程进程保存一些诊断信息。查看jconsole中的接口可以看出返回类型是(数据实际上返回为)。我想输出与此对象关联的所有键/值对 问题是接口似乎只有一个“values()”方法,无法获取键。我是不是遗漏了什么?是否有其他方法来完成此任务 谢谢 如果我没弄错的话,你可以 Set< String > keys = cData.getCompositeType().keySet(); Setkeys=cData.getCompositeType().keySet();

我正在使用JMX从远程进程保存一些诊断信息。查看jconsole中的接口可以看出返回类型是(数据实际上返回为)。我想输出与此对象关联的所有键/值对

问题是接口似乎只有一个“values()”方法,无法获取键。我是不是遗漏了什么?是否有其他方法来完成此任务


谢谢

如果我没弄错的话,你可以

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) [...];
}
成为你所追求的