|
|
1
174
关于为什么它不是这样设计的,你可以在 JSR 175 设计常见问题,其中说明:
JSR 308 ,您甚至可以找到一个具有此功能的替代编译器 Mathias Ricken . |
|
|
2
72
所有这些都增加了什么用例的复杂性? 您想知道给定注释是否属于某个类别? 试试这个:
正如您所看到的,您可以使用提供的工具轻松地对注释进行分组和分类,而不会带来不必要的麻烦。 KISS 是不在Java语言中引入元类型系统的原因。 [附后编辑] 我使用这个字符串只是为了演示和查看一个开放式元注释。对于您自己的给定项目,显然可以使用类别类型的枚举,并为给定注释指定多个类别(“多重继承”)。请注意,这些值完全是假的,仅用于演示目的:
|
|
|
3
12
在某种意义上,你已经有了注释——元注释。如果使用元信息对注释进行注释,这在许多方面相当于扩展一个附加接口。注释是接口,所以多态性并没有真正发挥作用,因为它们本质上是静态的,所以不可能有运行时动态调度。
我所能看到的唯一一个继承有帮助的用例是,如果您希望能够通过超级类型获得注释,但这会增加一大堆复杂性,因为给定的方法或类型可能有两个这样的注释,这意味着必须返回一个数组,而不仅仅是一个对象。 因此,我认为最终的答案是,用例是深奥的,并且使更多的标准用例变得复杂,因此不值得这么做。 |
|
|
4
5
Java注释支持的设计者对Java社区进行了许多“简化”。
|
|
|
5
3
我可能晚了三年才回答这个问题,但我发现这很有趣,因为我发现自己也在这个问题上。这是我的看法。可以将批注作为枚举查看。它们提供的信息是单向的——要么使用,要么丢失。 我曾经遇到过这样一种情况,我想在web应用程序中模拟GET、POST、PUT和DELETE。我非常希望有一个名为“HTTP_方法”的“超级”注释。后来我才明白这没关系。嗯,我不得不在HTML表单中使用一个隐藏字段来标识DELETE和PUT(因为POST和GET无论如何都是可用的)。
因此,在您的情况下,不要急于扩展注释。将它们视为“标记”。它们“代表”某些信息,而不一定“操纵”某些信息。 |
|
6
2
我能想到的一件事是有多个注释的可能性。因此,您可以在同一位置添加验证器和更具体的注释。但我可能弄错了:) |
|
|
7
2
关于你的例子 “验证器” “元注释” |
|
|
8
1
我也有同样的问题。不,你不能。我确实“训练”自己在注释中编写属性以遵守一些标准,所以在外部,当您得到注释时,您可以通过其属性“嗅探”它是什么类型的od注释。 |
|
|
user29759326 · 如何返回递归函数中的最后一个值? 1 年前 |
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Tim · 在java中,有没有更快的方法将字节数组写入文件? 1 年前 |
|
|
rudraraj · java中未声明最终变量 1 年前 |
|
|
Bala Ji · 以下BFS的实施效率如何? 1 年前 |