自定义注解

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

记录一些遇到过的问题

“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();
}

它果然就好了。

好吧,一个小知识的记录

posted @   aaacarrot  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示