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