从下面一行我得到一个PdsLongAttrImpl
Object obj = typeInfo.getParseMethod().invoke(null, rawValue);
该对象的字段为propertyKey
和Value
。
如何从上面的特定对象中获取值?
答案 0 :(得分:2)
将obj
转换为返回类型。
例如,如果您的预期回报类型为PdsLongAttrImpl
然后,它将是:
PdsLongAttrImpl pdsObj = (PdsLongAttrImpl)obj;
//然后对pdsObj
执行操作。
注意:如果obj不属于您要投射的类型,则最终会使用ClassCastException
。
答案 1 :(得分:1)
只需将值转换为正确的类型:
YourTypeHere obj = (YourTypeHere)typeInfo.getParseMethod().invoke(null, rawValue);
如果您不确定类型,可以使用:
System.out.println(typeInfo.getParseMethod().invoke(null, rawValue).getClass().getName));
这将在控制台上打印该类的名称
答案 2 :(得分:0)
如果您知道对象的类型(并且PdsAttrImpl是您的代码的可见类),您可以像
一样强制转换它。PdsLongAttrImpl casted = (PdsLongAttrImpl)obj;
//assuming you have getXXX methods for the two fields
casted.getPropertyKey();
casted.getValue();