• 締切済み

リファクタリング?

オブジェクト内の変数をstatic finalであるか どうか判定する方法ってありますか??

みんなの回答

  • takaP-
  • ベストアンサー率79% (83/105)
回答No.1

java.lang.reflect.Modifierを使うという手が在ります。 目的のオブジェクトをtargetObjとすると。。。 Class clazz=targetObj.getClass(); Field[] fields=clazz.getDeclaredFields(); for (int i=0; i<fields.length; i++){   int mod=fields[i].getModifiers();   if(Modifier.isStatic(mod)){     System.out.print("static ");   }   if(Modifier.isFinal(mod)){     System.out.print("final ");   }   System.out.println(field[i].getType()+" "+field[i].getName()); } 上の例ではtargetObj全てのフィールドを判定していますが、必要に応じて修正して使用して下さい。

関連するQ&A

専門家に質問してみよう