枚举作为泛型类型并用于某些注释
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了枚举作为泛型类型并用于某些注释相关的知识,希望对你有一定的参考价值。
我希望子类将特定的枚举值传递给extends
中的父类,这样这些特定的枚举值将在某些注释中的父类中使用。以下是我想要实现的目标。
public enum SomeEnum {
VAL1, VAL2;
}
public @interface SomeAnnotation {
SomeEnum someValue();
}
//below starts all fuzzy things : I want a specific value of enum
public class parent<FetchType> {// not sure what exactly should write between < >
// below,at someValue I want the specific enum passed by child , means
// the value passed between < and >
@SomeAnnotation(someValue = null /* here should be the specific enum value passed
as type parameter of this class */)
private String someString;
//getter-setter
}
//as i said , for child1 , i need SomeEnum.VAL1 to be passed to parent and
// SomeEnum.VAL2 for child2.
public class child1 extends parent<SomeEnum.VAL1>{}
public class child2 extends parent<SomeEnum.VAL2>{}
答案
我会走出去,并建议你不需要Enum
和annotations
,但也许类似下面的内容?
interface NotEnum {
interface Val1 extends NotEnum {}
interface Val2 extends NotEnum {}
}
class Parent<T extends NotEnum> {...}
class Child1 extends Parent<NotEnum.Val1> {...}
class Child2 extends Parent<NotEnum.Val2> {...}
以上是关于枚举作为泛型类型并用于某些注释的主要内容,如果未能解决你的问题,请参考以下文章