关于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.javapackage 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注解是能够实现的。大侠们,望快点伸出援手啊,小弟急啊 问题补充:lizhi92574 写道

解决方案

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

时间: 2024-07-30 12:59:03

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

一个java文件怎么调用另一个文件的text值

问题描述 一个java文件怎么调用另一个文件的text值 例如我在JAVA文件A里面建了一个方法 public String getUser() { String s1; s1=(String)(user.getText()); return s1; } 然后我想在JAVA文件B里调用user.getText()的值,我是这样写的 public InputCardnum inputcardnum;//这是文件A的名字 创建对象 String a=inputcardnum.getUser(); 可

菜鸟饼 能不能用java的工厂模式处理下面的问题。 求代码 和 注释

问题描述 菜鸟饼 能不能用java的工厂模式处理下面的问题. 求代码 和 注释 interface Animal{ public void say(); } class Mammal implements Animal{ public void say(){ System.out.println("哺乳动物"); } } class Reptiles implements Animal{ public void say(){ System.out.println("爬行动物&

java中的字节输入流的无参read方法,每次读到的是一个字节,还是一个基本数据的字节值?

问题描述 java中的字节输入流的无参read方法,每次读到的是一个字节,还是一个基本数据的字节值? FileInputStream 的无参read()方法,每次读到的是一个字节,那他返回给的int变量的是一个字节的int表现形式,还是一个基本数据(如char字符数据)的字节值的int表现形式?如果是返回的一个字节,那这个字节转化成的int值,最多只能取到2的8次方即255个,单个字节是无法表示一个字符的,如果原文件中有汉子,系统又是怎么样把一个字节的数据转换成汉子呢?本人新手,这块不是很理解,

c#-编写一个方法(完成值修改),传递参数中是传递实体类好还是类的成员好

问题描述 编写一个方法(完成值修改),传递参数中是传递实体类好还是类的成员好 如题,假如有个类Letter{int a,int b,int c....int z}(假设有26个成员吧),我如果想写一个方法来改变某几个成员的值的时候,方法的参数是定义fun(Letter letter)好,还是定义fun(int a,int b,int c,...)几个我需要修改的成员好,方法体的功能是改变原有的值. 解决方案 各有各的好处,参数多,传实体类方便,参数少,传参方便. 解决方案二: 传实体类,或者传成

java listmap中如何遍历整个list?可能存在多个关键节点个关键值

问题描述 java listmap中如何遍历整个list?可能存在多个关键节点个关键值 java listmap中如何遍历整个list?可能存在多个关键节点个关键值 解决方案 遍历list一个for循环就可以啊,或者foreach,不知道你具体的需求是什么? 解决方案二: 你说的listmap是List这种定义吗? 如果是的话,参考:http://zhidao.baidu.com/link?url=SImYkK1Qqmo1hZG6bomDiyDEWvF9F2goiGfftKLivfgymUGK4

java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗

问题描述 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 java中一个void修饰的方法无返回值,那么有是不是返回一个空对象,有空对象这种说法吗 解决方案 加入你有一个对象 Object 里面有个方法:public void method1(); 那你调用这个方法的时候就是 object.method1(); 那么这里就表示 没有返回值. 所以我里面的void就是 :没有返回值,这个方法不能做他用! 对比 有一个object 里面有一个方法: publ

JAVA新建同类的两个不同名对象,调用同一个方法,传入值不同,变量不改变,遇到鬼了??

问题描述 JAVA新建同类的两个不同名对象,调用同一个方法,传入值不同,变量不改变,遇到鬼了?? 代码如下,新手,只找到了问题语句,不知为什么,前辈们帮忙看一下,怎么回事这是? 1.main入口: public class mainSelectClassSyste{ public static void main(String[] args) { IStudentDao studentDao=new StudentDao(); Student student2=new Student(2, "H

Myeclipse 6.5在创建action时,类头没有注释,但创建普通的java类就可以,有人知道如何让其自动添加类注释?

问题描述 Myeclipse 6.5在创建action时,类头没有注释,但创建普通的java类就可以,有人知道如何让其自动添加类注释吗? 问题补充:songfantasy 写道 解决方案 引用 但是你创建时,默认的就有个英文类头说明. 它是从哪儿来的? 那请问你用什么更好的开发工具? 推荐,推荐,多谢了.我就是在那里设置的,然后导出来,形式xml,以后每次换eclipse的话,就重新导进去就行.很方便.我用Eclipse JavaEE版本或者Intellij idea.解决方案二:真正的问题应该

android-Android中怎么把一个方法中的值传递到另一个方法中

问题描述 Android中怎么把一个方法中的值传递到另一个方法中 如下 public final Handler viewHandler = new Handler() {...........................};假设这里面有一个值要传递到 public void initViews() { .'''''''''''}:这里面 请大神指教 解决方案 为你想传入的那个方法添加传入数据类型的参数,然后在后一个方法中处理传入的数据,调用此方法的时候就可以传值了 public void