以下の行から、私はのオブジェクトを取得しますPdsLongAttrImpl
Object obj = typeInfo.getParseMethod().invoke(null, rawValue);
そして、そのオブジェクトはフィールドとしてpropertyKey
とを持っValue
ています。
上記の特定のオブジェクトから値を取得するにはどうすればよいですか?
obj
リターンのタイプにキャストします。
たとえば、期待収益タイプがPdsLongAttrImpl
次に、次のようになります。
PdsLongAttrImpl pdsObj = (PdsLongAttrImpl)obj;
//次に、に対して操作を実行しpdsObj
ます。
注:objがキャスト先のタイプでない場合は、最終的に。になりClassCastException
ます。
値を適切なタイプにキャストするだけです。
YourTypeHere obj = (YourTypeHere)typeInfo.getParseMethod().invoke(null, rawValue);
タイプがわからない場合は、次を使用できます。
System.out.println(typeInfo.getParseMethod().invoke(null, rawValue).getClass().getName));
これにより、クラスの名前がコンソールに出力されます
オブジェクトのタイプがわかっている場合(そしてPdsAttrImplがコードに表示されるクラスである場合)、次のようにキャストできます。
PdsLongAttrImpl casted = (PdsLongAttrImpl)obj;
//assuming you have getXXX methods for the two fields
casted.getPropertyKey();
casted.getValue();