javabean属性值无效,javabean中的属性
目录
JavaBean根据指定条件设置属性值默认值使用场景使用范围使用示例JavaBean对象成员变量默认值及数组默认值
JavaBean根据指定条件设置属性值默认值
使用场景
当豆数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置;如果豆的属性较少,可以手动写如果条件就行了,如果豆的属性太多,你不希望写太多如果的时候,这个方法是很不错的方法;
使用范围
仅限于当前类,不能给父类设置值
也是参考了其他博主的方法,做的优化和修改,由于时间过了很长,找不到原博主的参考文献了,请见谅~
/* * * * @描述:根据条件,为豆设置默认指定属性* @param源对象当前需要操作的实体类* @param targetString需要被替换的属性的值* @param默认值被替换的值* @ return : void * @ author : * @ date 3360 2021/4/26 */public静态void set默认值(Object source Object,String targetString,String default value){ if(source Object!=null) { try { Class?clazz=源对象。getclass();field[]field=clazz。getdeclaredfields();对象对象复制=clazz。获取构造函数(新类[]{ }).新实例();org。spring框架。豆子。豆utils。复制属性(源对象、对象复制);对于(字段字段:字段){ //修饰符int mod=field。get修饰符();if(修饰语。是静态的(mod)){继续;} //属性名称字符串字段名=字段。getname();如果(字段名。equals(串行版本uid ){ continue;} //获得属性的首字母并转换为大写,与setXXX对应字符串首字母=字段名。子字符串(0,1).toupper case();string set方法name= set 字段名的第一个字母。子串(1);//设置属性的可访问标识布尔可访问=字段。可访问();//log.info(可访问标识:可访问);字段。设置可访问性(true);方法设置方法=clazz。get方法(设置方法名,字段。gettype());对象字段值0=字段。get(源对象);if (targetString!=null){ if(field value o String的实例){ String field value=(String)field。get(源对象);if(目标字符串。equals(字段值)){ set方法。invoke(对象复制,默认值);//调用对象的setXXX方法} } } else { Object o=field。get(源对象);if(o==null){ set方法。invoke(对象复制,默认值);//调用对象的setXXX方法} } field.setAccessible(可访问);}组织。spring框架。豆子。豆制品。复制属性(对象复制,源对象);} catch(Exception e){抛出新的运行时异常(e);} } }
使用示例
setDefaultValue(源对象,null, );//属性值为空的时候设置默认值为空串setDefaultValue(sourceObject, null , );//属性值为空字符串的时候设置为空串
JavaBean对象成员变量默认值及数组默认值
公共类StudentTest { private int id私有字符串名称;int[]arr;public int[]getArr(){ return arr;} public void setArr(int[]arr){ this。arr=arr} public int getId(){ return id;} public void setId(int id){ this。id=id} public String getName(){ return name;} public void set name(String name){ this。name=名称;} }公共类关{ public static void main(String[]args){//对于javaBean对象的成员变量,都有默认值,如果成员变量是基本类型(同国际组织)国际组织默认值为0,如果是引用类型,其默认值为null //数组对象,如果没有进行静态初始化,数组对象其每一个索引位置,如果是存储基本类型,默认值为0,如果存储引用类型,默认值就为null System.out.println(新学生测试()。getId());//0系统。出去。println(新生测验).getName());//空系统。出去。println(新生测验).getArr());//null int[]arr=new int[3];String[] str=新字符串[3];系统。出去。println(arr[0]);//0系统。出去。println(str[0]);//null }}以上为个人经验,希望能给大家一个参考,也希望大家多多支持盛行它.
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。