首页 > 其他分享 >自定义注解

自定义注解

时间:2022-12-31 15:25:09浏览次数:31  
标签:自定义 EnumConvert value carrot 注解 属性

记录一点关于自定义注解的小事儿

记录一些遇到过的问题

“Cannot find method 'value'”

定义了一个自定义注解,

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EnumConvert {
    String path();
}

然后在使用的时候,

@EnumConvert("com.carrot.common.constants.SexEnum")

当这样写的时候,就报了一个错,—— “Cannot find method 'value'”
奇怪了!!!

明明之前也有这样写过,为什么这次就提示这个玩意儿呢,
当写成

@EnumConvert(path = "com.carrot.common.constants.SexEnum")

的时候,就可以了。

但作为一个开发人员不太能够忍受这个事儿(主要是还有点时间),
然后查了一下,
原来,在注解里面,如果不想指定属性,并不是任意属性都可以省略这个 "xx属性="这个的,
它是有条件的,只有这个属性为 value 的时候,才可以省略。emmm, 就仅 value 这个名称。

于是, 把自定义注解写成:

@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface EnumConvert {
    String value();
}

它果然就好了。

好吧,一个小知识的记录

标签:自定义,EnumConvert,value,carrot,注解,属性
From: https://www.cnblogs.com/aaacarrot/p/17016687.html

相关文章