bblistener 2010-10-21 22:09 采纳率: 0%
浏览 214
已采纳

关于java Anotation注释成员斌值问题,是不是必须为每一个注释成员斌值?

java中自定义Annotation时,是不是一定要为每一个注释成员斌值呢,不知道javax.persistence.Column注释是怎么实现的
使用javax.persistence.Column时为什么不用为每一个注释成员斌值。
本人现做一个小测验如下:

一、Validate.java,验证用的注解
package com.wanghaisheng.generator.support;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface Validate {
//必输字段
boolean required();
//最小长度
public abstract int minLength();
//最大长度
public abstract int maxlength();
//[3,10] 长度介于 3 和 {1} 之间的字符串
public abstract String rangelength();
//[100,1000] 只能是100和 1000 之间的值
public abstract String range();
//最小值
public abstract long min();
//最大值
public abstract long max();
//验证邮箱
public abstract boolean email();
//验证是否是合法的网址
public abstract boolean url();
//验证是否是合法的日期 new Date() 类型格式
public abstract boolean date();
//验证是否是合法的日期 年/月/日 或 年-月-日 格式
public abstract boolean dateISO();
//验证是否是合法的数字
public abstract boolean number();
//验证是否为整数
public abstract boolean digits();
//验证合法的信用卡号
public abstract boolean creditCard();
//要匹配的元素如:’#cnfpass’ , 验证两次输入值是否相同
public abstract String equalTo();
//“gif|png|jpg” 验证是否是合法后缀名的字符串
public abstract String accept();

}

然后我定义一个POJO使用该注解
二、User.java

package com.wanghaisheng.model;

import com.wanghaisheng.generator.support.Validate;

public class User {
private String userName;
private String password;

@Validate(accept = "", creditCard = false, date = false, dateISO = false, digits = false,   email = false, equalTo = "", max = 0, maxlength = 0, min = 0, minLength = 0, number = false, range = "", rangelength = "", required = false, url = false)
public String getUserName() {
    return userName;
}
public void setUserName(String userName) {
    this.userName = userName;
}
public String getPassword() {
    return password;
}
public void setPassword(String password) {
    this.password = password;
}

}

各位大侠,能不能邦小弟实现使用Validate注解时只为其中的几个成员斌值,或不用为他们斌值,
如:
@Validate(email = true)
public String getUserName() {
return userName;
}
而不用当使用Validate注解时加上那么一大堆难看的无用的代码。
我知道javax.persistence.Column注解是能够实现的。
大侠们,望快点伸出援手啊,小弟急啊

  • 写回答

1条回答 默认 最新

  • lizhiyezi 2010-10-21 22:13
    关注

    可以再声明的时候使用默认值
    public abstract boolean creditCard() default false;

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序
  • ¥15 onvif+openssl,vs2022编译openssl64
  • ¥15 iOS 自定义输入法-第三方输入法
  • ¥15 很想要一个很好的答案或提示
  • ¥15 扫描项目中发现AndroidOS.Agent、Android/SmsThief.LI!tr
  • ¥15 怀疑手机被监控,请问怎么解决和防止
  • ¥15 Qt下使用tcp获取数据的详细操作