|javamy| 在给字段添加注解的时候,有些说明是可写可不写的,但是Java一定要全写,加default后就可以,但String default 不了 谢谢
- Java code
package z.core.hibernateCore.attribute;import java.lang.annotation.Documented;import java.lang.annotation.Inherited;import java.lang.annotation.Retention;import java.lang.annotation.Target;import java.lang.annotation.ElementType;import java.lang.annotation.RetentionPolicy;/** * 标示为数据字段 */@Target(ElementType.FIELD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedpublic @interface DataColumn { /** * 字段描述 * * @return */ public String name(); /** * 是否为多对一关系 * * @return */ public boolean many_to_one() default false; /** * 默认值 * * @return */ public String defaultValue() default null;}上面是一个注解
但是:public String defaultValue() default null;
这一句不通过,String的default 不是 null 吗?
因为不加default的话在给字段加注解的时候就一定得写全
只能:@DataColumn(name = "用户ID",defaultValue="默认值")
不能:@DataColumn(name = "用户ID")
那String的default是什么 谢谢
[解决办法]
public String defaultValue(); 不写就是默认为null,写了必须有值比如""、"nihao";
[解决办法]
注释应该不能设置默认值为null,它应该是一个编译期常量。
用这种方式: "" 或者 Void.class。
[解决办法]