自定义注解
记录一点关于自定义注解的小事儿
记录一些遇到过的问题
“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(); }
它果然就好了。
好吧,一个小知识的记录
分类:
一些知识点记录
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南