Today I wanted to create my first annotation interface following this documentation and I got this compiler error
Invalid type for annotation member":
public @interface MyAnnotation {
Object myParameter;
^^^^^^
}
Obviously Object
cannot be used as type of an annotation member. Unfortunately I could not find any information on which types can be used in general.
This I found out using trial-and-error:
String
→ Valid
int
→ Valid
Integer
→ Invalid (Surprisingly)
String[]
→ Valid (Surprisingly)
Object
→ Invalid
Perhaps someone can shed some light on which types are actually allowed and why.
Question&Answers:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…