0

从下面的行我得到一个对象PdsLongAttrImpl

Object obj = typeInfo.getParseMethod().invoke(null, rawValue);

该对象具有propertyKeyValue作为字段。

如何从上述特定对象中获取值?

4

3 回答 3

2

obj将返回的类型转换为类型。

例如,如果您的预期返回类型是PdsLongAttrImpl

那么,它将是:

PdsLongAttrImpl pdsObj = (PdsLongAttrImpl)obj;

//然后对pdsObj.

注意:如果 obj 不是您要转换的类型,您最终会得到ClassCastException.

于 2012-11-07T22:24:44.123 回答
1

只需将值转换为正确的类型:

 YourTypeHere obj = (YourTypeHere)typeInfo.getParseMethod().invoke(null, rawValue);

如果您不确定类型,可以使用:

 System.out.println(typeInfo.getParseMethod().invoke(null, rawValue).getClass().getName));

这将在控制台上打印类的名称

于 2012-11-07T22:26:10.487 回答
0

如果您知道对象是什么类型(并且 PdsAttrImpl 是代码的可见类),则可以将其转换为

PdsLongAttrImpl casted = (PdsLongAttrImpl)obj;

//assuming you have getXXX methods for the two fields

casted.getPropertyKey();
casted.getValue();
于 2012-11-07T22:25:52.253 回答