我不明白为什么Java注释中没有继承,就像Java类一样.我认为这会非常有用.

例如:我想知道给定的注释是否是验证器.通过继承,我可以反射性地浏览超类,以了解此注释是否扩展了ValidatorAnnotation.否则,我如何才能做到这一点?

那么,有人能给我这个设计决定的理由吗?

推荐答案

关于它没有这样设计的原因,你可以在JSR 175个设计常见问题中找到答案,其中写道:

为什么不支持注释子类型(一种注释类型扩展另一种注释类型)?

这会使注释类型复杂化

"特定工具"——查询

所以,是的,我想,原因是它只是亲吻.无论如何,似乎这个问题(以及其他许多问题)正在作为JSR 308的一部分进行研究,你甚至可以找到Mathias Ricken已经开发的具有此功能的替代编译器.

Java相关问答推荐

如何专门保存数据而不显示在jTable中?

Spring Boot找不到Mapper bean

无法运行Java(已解决)

如何将kotlin代码转换为java

在Java中测试DAO方法:假实现与内存数据库

替换com. sun. jndi. dns. DnsContextFactory Wildfly23 JDK 17

使用标记时,场景大纲不在多个线程上运行

Spring Boot Maven包

呈现文本和四舍五入矩形时出现的JavaFX窗格白色瑕疵

Java流传输一个列表并创建单个对象

Com.google.firebase.database.DatabaseException:无法将类型为java.lang.Boolean的值转换为字符串.这是关于什么的?

try 判断可选参数是否为空时出现空类型安全警告

使用PDFBox从PDF中删除图像

在一行中检索字符分隔字符串的第n个值

如何处理两个几乎相同的XSD文件?

在应用getCellFormula()时,Excel引用中的文件名始终为";[1]";使用Apache POI()

如何在Maven Central上部署?

在ECLIPSE上的M1 Pro上运行JavaFX的问题

如何修复Spring Boot应用程序中的RestDocumentationGenerationException:java.io.FileNotFoundException:/curl-request.adoc(只读文件系统)?

从 Java 17 切换回 Java 8 后出现的问题