在枚举中使用反射

时间:2014-04-16 02:34:34

标签: java reflection

我有一个实现接口的枚举:

public enum MyEnum implements MyInterface {

  ENUM1{         
     @Override
     public String myMethod(){               
      //blah
     }    
  },
  ENUM2{         
     @Override
     public String myMethod(){               
      //blah         
     }    
  }

}

如果我知道我要调用方法的枚举值,给定这两个信息:enum(例如ENUM2)和方法名称,我如何使用反射来完成此操作?

1 个答案:

答案 0 :(得分:0)

简而言之(未经测试的代码,只是给你一个想法):

Method m = MyEnum.class.getMethod("myMethod", String.class);
m.invoke(MyEnum.ENUM2, inputString);

就个人而言,我会建议你拿一本书,并学习反思的基础知识。你想要做的事情显然不是由一个基本没有反思知识的人写的。