1

字段上的 Java 注释数量是否有限制?我找不到关于这一点的任何信息。

4

3 回答 3

9

不,规范中没有任何限制。

见这里:http ://docs.oracle.com/javase/specs/jls/se7/jls7.pdf

通常,您遇到的 java 文件的唯一限制是操作系统范围的限制,例如 max。某些文件系统上的文件大小或 - 在核心情况下 - 磁盘大小。某些系统可能在编译或运行 100gb .java/.class 文件时出现问题...

随你所愿。只是它可能是糟糕的设计。我会说,将其保持在 10 以下是一个很好的经验法则。

编辑:毕竟,似乎有一个限制。至少在方法的运行时注释上。

请注意,最多 65535 个运行时可见的 Java 编程语言注释可以直接附加到程序元素。

不确定这是否也适用于字段。

所以,我想答案取决于您要添加的注释类型。

不过,语言规范中对此一无所知。我猜他们真的不认为有人会尝试。

于 2012-04-27T11:31:49.343 回答
4

好吧,这是类文件格式规范的限制。

4.7.18。RuntimeVisibleParameterAnnotations 属性

RuntimeVisibleParameterAnnotations 属性是 method_info (§4.6) 结构的属性表中的可变长度属性。RuntimeVisibleParameterAnnotations 属性记录了在相应方法的参数上运行时可见的 Java 编程语言注解。

请注意,最多65535个运行时可见的 Java 编程语言注释可以直接附加到程序元素。

编辑

上面的链接还提到了类、方法和元素的 RuntimeVisibleAnnotations 和 RuntimeInvisibleAnnotations - 每个限制都是 65535。65535 也是结构可以包含的最大值(无符号 16 位整数),您可能会遇到其他限制在你达到那个数字之前。

于 2012-04-27T11:47:06.940 回答
0

我怀疑该限制高于您拥有的注释数量(您只能添加一次)或可能想要添加。

如果您每个人都想添加更多数据,您可以将注释数组的值作为注释的值,但在字符串中包含丰富的信息是添加更多信息的常用方法,例如以 JSON 格式。

于 2012-04-27T11:29:38.457 回答