huoyj 2010-05-09 18:12
浏览 388
已采纳

Annotation中定义的enum类型的如何调用

Annotation中定义的enum类型的如何调用,我写了一个代码,
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Inherited
public @interface MyAnnotation {
int i();
String str();
em e();
String[] value();
}
enum em {
Hello,
world
}

然后我在测试代码中调用枚举类型的e,代码是这样的:
public class Main {

public static void main(String[] args) {
    Class<TestMyAnnotation> c = TestMyAnnotation.class;
    Method test = null ;
    try {
        test = c.getDeclaredMethod("testAnnoation",String.class);
    } catch (Exception e) {
        e.printStackTrace();
    } 
    MyAnnotation a = test.getAnnotation(MyAnnotation.class);
    System.out.println(a.i());
    System.out.println(a.str());
         System.out.println(a.e());               //此处出错,抛出IllegalAccessError
              em e = em.Hello;                         //em是我定义的一个enum
              System.out.println(e);                   //这样是可以的,why?
}

}

  • 写回答

2条回答 默认 最新

  • 拽拽的初行者 2010-05-09 18:34
    关注

    [color=blue][b]改为这样:[/b][/color]
    [code="java"]public enum em {
    Hello,
    world
    } [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?
  • ¥50 invest生境质量模块
  • ¥15 nhanes加权logistic回归,svyglm函数