- 締切済み
リファクタリング?
オブジェクト内の変数をstatic finalであるか どうか判定する方法ってありますか??
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- 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全てのフィールドを判定していますが、必要に応じて修正して使用して下さい。