gpt4 book ai didi

java - 为什么不能在 Java 中扩展注解?

转载 作者:IT老高 更新时间:2023-10-28 12:15:01 26 4
gpt4 key购买 nike

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

例如:我想知道给定的注释是否是 validator 。通过继承,我可以反射性地浏览父类(super class)以了解此注释是否扩展了 ValidatorAnnotation。否则,我怎么能做到这一点?

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

最佳答案

关于它不是这样设计的原因,您可以在 JSR 175 中找到答案。设计常见问题解答,上面写着:

Why don’t you support annotation subtyping (where one annotation type extends another)?

It complicates the annotation type system, and makes it much more difficult to write “Specific Tools”.

“Specific Tools” — Programs that query known annotation types of arbitrary external programs. Stub generators, for example, fall into this category. These programs will read annotated classes without loading them into the virtual machine, but will load annotation interfaces.

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

关于java - 为什么不能在 Java 中扩展注解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1624084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com