首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

|javamy| 在给字段添加注解的时候,有些说明是可写可不写的,但是Java一定要全写,加default后就可以,但String default 不了 多谢

2012-08-28 
|javamy| 在给字段添加注解的时候,有些说明是可写可不写的,但是Java一定要全写,加default后就可以,但Strin

|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。

[解决办法]
探讨
原因是:
The value for annotation attribute DataColumn.columnName must be a constant expression
他是要求要一个默认值为常量的
然后我试用
--------------
@DataColumn(name = "用户ID", defaultValue= null)
private int userid……

热点排行