java注释可以被覆盖吗?若有??怎么用?

java注释可以被覆盖吗?若有??怎么用?,java,validation,annotations,Java,Validation,Annotations,我基于java注释围绕我的应用程序构建了一个验证机制——类似于,唯一的例外是我的更简单——它只有值,值的类型是Float @Target({ FIELD }) @Retention(RUNTIME) @Documented public @interface Min { float value() default 0f; } 现在我需要扩展这个机制来支持Integer值。是否可以提供注释的覆盖?比如: @Target({ FIELD }) @Retention(RUNTIME)

我基于java注释围绕我的应用程序构建了一个验证机制——类似于,唯一的例外是我的更简单——它只有值,值的类型是
Float

@Target({ FIELD })
@Retention(RUNTIME)
@Documented
public @interface Min {    
   float value() default 0f; 
}
现在我需要扩展这个机制来支持
Integer
值。是否可以提供注释的覆盖?比如:

@Target({ FIELD })
@Retention(RUNTIME)
@Documented
public @interface Min {    
   int value() default 0; 
}
@Target({ FIELD })
@Retention(RUNTIME)
@Documented
public @interface Min {    
   float value() default 0f; 
   int intValue();
}
或者可能只有两个属性中的一个存在?比如:

@Target({ FIELD })
@Retention(RUNTIME)
@Documented
public @interface Min {    
   int value() default 0; 
}
@Target({ FIELD })
@Retention(RUNTIME)
@Documented
public @interface Min {    
   float value() default 0f; 
   int intValue();
}
欢迎任何其他机制


谢谢大家!

注释类型不能声明超类或超接口;有关详细信息,请参阅

以下是几个选项:

  • 修改注释以支持两个值
  • 使用不同的名称和值创建第二个注释,并让注释处理器处理这两个注释
注释类型不能声明超类或超接口;有关详细信息,请参阅

以下是几个选项:

  • 修改注释以支持两个值
  • 使用不同的名称和值创建第二个注释,并让注释处理器处理这两个注释
是的,我知道继承是不允许的,但具有特殊法规的Java EE注释除外。我想我会选择两个选项中的一个。现在我正在尝试多种方法。10倍!JavaEE注释重写是一个不同的概念。它不涉及Java语言意义上的继承。相反,它是关于注释的含义以及JavaEE如何对其进行操作的。是的,我知道继承是不允许的,JavaEE注释有一个特殊的规约。我想我会选择两个选项中的一个。现在我正在尝试多种方法。10倍!JavaEE注释重写是一个不同的概念。它不涉及Java语言意义上的继承。相反,它是关于注释的含义以及JavaEE如何对其进行操作的。