如何获取 java 对象的字段类型和值?

How can I get field types and values of java object?

也许有人可以建议我如何揭示无法访问初始 java class(用于创建对象)的 ignite-stored 对象的结构?Ignite-stored据我所知,对象只是一个 java 对象。 'structure' 我的意思是字段名称和类型。 一般用途是为 ignite 存储的对象生成 avro 模式。

解决如下: 我的最终解决方案现在如下所示:

private void binObjFieldsParsing(BinaryObject o){
        Map<String, String> fieldNamesNTypes = new LinkedHashMap<String, String>();
        for (String field: o.type().fieldNames()){
            fieldNamesNTypes.put(field, o.type().fieldTypeName(field));
        }

        for (Map.Entry<String, String> fieldNameNType: fieldNamesNTypes .entrySet()){
            System.out.println("Field name: " + fieldNameNType.getKey() + " Field type: " + fieldNameNType.getValue());
        }
    }

你应该使用 binary objects API.

简而言之:

BinaryObject val = (BinaryObject)cache.withKeepBinary().get(key);