java - 用内部类注释类

标签 java reflection annotations

我通过反射创建我的枚举,为此我向每个枚举添加一个实现抽象工厂的内部类。现在我想访问这个内部类以调用方法:

@Factory(FooFactory.class)
public enum Foo {

     FOO, BAR;

     public class FooFactory implements AbstractFactory<Foo> {

          public Foo create(String value) {
               return valueOf(value.toUpperCase());
          }
     }
}

@Factory的定义是:

@Retention(RetentionPolicy.RUNTIME)
public @interface Factory {

        Class<?> value();
}

然而,我收到以下错误:

Class cannot be resolved to a type FooFactory.java

当我尝试 @Factory(Foo$FooFactory.class) 时,我收到了错误:

The nested Foo$FooFactory cannot be referneced using its binary name.

那么甚至可以引用嵌套类吗?

最佳答案

从评论...显然

@Factory(Foo.FooFactory.class)

需要。

关于java - 用内部类注释类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12117132/

相关文章:

swift - 静态与动态类型

java - 使用堆栈反转数组

java - java连接DB2的问题

java - 如何检查内部类中的值?

java - 如何更改 Hibernate Tools 反向工程 DAO 类的名称?

java - 使用反射调用方法时 int 和 Integer 参数的区别

c# - 如何获取类型成员的源文件名和行号?

java - JSR 303 Bean Validation,验证在 XML 中定义数组值

symfony2 学说十进制精度刻度注释被忽略

iphone - 添加/重新加载 map View 注释而不阻塞主线程