読者です 読者をやめる 読者になる 読者になる

【Java】特定のclassのstaticなプロパティに、動的にアクセスしたい

大量にある、連番のstaticなstring propertyに一気にアクセスさせたいと思い…調べると、以下のような事で実現可能だった。(まあ…javaなのでちゃんとclass設計しておけば、このようなバグを招きやすいような処理を入れることもないでしょうけど…(^o^))


Class utils = Utils.class;//Utils classへの参照を取得

  Field keyName = utils.getField("STATIC_FIELD_SAMPLE" + 0);//"STATIC_FIELD_SAMPLE0"というstatic propertyへの参照を取得

  String resultStr = (String)keyName.get(null);//"STATIC_FIELD_SAMPLE0"に設定されている(この場合は)文字列を取得

(※本来は、上記はtry〜catchで囲わないと警告が出ると思われます)