字段上的 Java 注释数量是否有限制?我找不到关于这一点的任何信息。
3 回答
不,规范中没有任何限制。
见这里:http ://docs.oracle.com/javase/specs/jls/se7/jls7.pdf
通常,您遇到的 java 文件的唯一限制是操作系统范围的限制,例如 max。某些文件系统上的文件大小或 - 在核心情况下 - 磁盘大小。某些系统可能在编译或运行 100gb .java/.class 文件时出现问题...
随你所愿。只是它可能是糟糕的设计。我会说,将其保持在 10 以下是一个很好的经验法则。
编辑:毕竟,似乎有一个限制。至少在方法的运行时注释上。
请注意,最多 65535 个运行时可见的 Java 编程语言注释可以直接附加到程序元素。
不确定这是否也适用于字段。
所以,我想答案取决于您要添加的注释类型。
不过,语言规范中对此一无所知。我猜他们真的不认为有人会尝试。
好吧,这是类文件格式规范的限制。
4.7.18。RuntimeVisibleParameterAnnotations 属性
RuntimeVisibleParameterAnnotations 属性是 method_info (§4.6) 结构的属性表中的可变长度属性。RuntimeVisibleParameterAnnotations 属性记录了在相应方法的参数上运行时可见的 Java 编程语言注解。
请注意,最多65535个运行时可见的 Java 编程语言注释可以直接附加到程序元素。
编辑
上面的链接还提到了类、方法和元素的 RuntimeVisibleAnnotations 和 RuntimeInvisibleAnnotations - 每个限制都是 65535。65535 也是结构可以包含的最大值(无符号 16 位整数),您可能会遇到其他限制在你达到那个数字之前。
我怀疑该限制高于您拥有的注释数量(您只能添加一次)或可能想要添加。
如果您每个人都想添加更多数据,您可以将注释数组的值作为注释的值,但在字符串中包含丰富的信息是添加更多信息的常用方法,例如以 JSON 格式。