如何使用JavaBean根据指定条件设置属性值默认值
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"如何使用JavaBean根据指定条件设置属性值默认值"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面
千家信息网最后更新 2026年11月01日如何使用JavaBean根据指定条件设置属性值默认值
这篇"如何使用JavaBean根据指定条件设置属性值默认值"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"如何使用JavaBean根据指定条件设置属性值默认值"文章吧。
JavaBean根据指定条件设置属性值默认值
使用场景
当bean数据中已经装配好其他数据,在逻辑以及数据转换完成的最后一步进行数据默认值设置;如果bean的属性较少,可以手动写if条件就行了,如果bean的属性太多,你不希望写太多if的时候,这个方法是很不错的方法;
使用范围
仅限于当前类,不能给父类设置值
也是参考了其他博主的方法,做的优化和修改,由于时间过了很长,找不到原博主的参考文献了,请见谅~
/** * @Description: 根据条件,为bean设置默认指定属性 * @param sourceObject 当前需要操作的实体类 * @param targetString 需要被替换的属性的值 * @param defaultValue 被替换的值 * @return: void * @Author: * @Date: 2021/4/26*/ public static void setDefaultValue(Object sourceObject, String targetString, String defaultValue) { if (sourceObject != null) { try { Class> clazz = sourceObject.getClass(); Field[] fields = clazz.getDeclaredFields(); Object objectCopy = clazz.getConstructor(new Class[]{}).newInstance(); org.springframework.beans.BeanUtils.copyProperties(sourceObject, objectCopy); for (Field field : fields) { //修饰符 int mod = field.getModifiers(); if (Modifier.isStatic(mod)) { continue; } //属性名称 String fieldName = field.getName(); if (fieldName.equals("serialVersionUID")) { continue; } // 获得属性的首字母并转换为大写,与setXXX对应 String firstLetter = fieldName.substring(0, 1).toUpperCase(); String setMethodName = "set" + firstLetter + fieldName.substring(1); //设置属性的可访问标识 boolean accessible = field.isAccessible(); // log.info("可访问标识:"+accessible); field.setAccessible(true); Method setMethod = clazz.getMethod(setMethodName, field.getType()); Object fieldValueO =field.get(sourceObject); if (targetString!=null){ if (fieldValueO instanceof String){ String fieldValue = (String) field.get(sourceObject); if (targetString.equals(fieldValue)){ setMethod.invoke(objectCopy, defaultValue);//调用对象的setXXX方法 } } }else { Object o = field.get(sourceObject); if (o==null){ setMethod.invoke(objectCopy, defaultValue);//调用对象的setXXX方法 } } field.setAccessible(accessible); } org.springframework.beans.BeanUtils.copyProperties(objectCopy, sourceObject); } catch (Exception e) { throw new RuntimeException(e); } } }使用示例
setDefaultValue(sourceObject, null, "");//属性值为null的时候设置默认值为空串setDefaultValue(sourceObject," null", "");//属性值为"null"字符串的时候设置为空串
JavaBean对象成员变量默认值及数组默认值
public class StudentTest { private int id; private String name; 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 setName(String name) { this.name = name; }}public class guanxiaokun { public static void main(String[] args) { //对于javaBean对象的成员变量,都有默认值,如果成员变量是基本类型int 默认值为0,如果是引用类型,其默认值为null //数组对象,如果没有进行静态初始化,数组对象其每一个索引位置,如果是存储基本类型,默认值为0,如果存储引用类型,默认值就为null System.out.println(new StudentTest().getId());//0 System.out.println(new StudentTest().getName());//null System.out.println(new StudentTest().getArr());//null int[] arr = new int[3]; String[] str = new String[3]; System.out.println(arr[0]);//0 System.out.println(str[0]);//null }}以上就是关于"如何使用JavaBean根据指定条件设置属性值默认值"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
属性
条件
对象
内容
方法
数据
类型
变量
成员
数组
时候
文章
标识
知识
空串
篇文章
参考
存储
不错
价值
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
西安纸贵互联网科技有限公司
互联网科技官网
盈实互联网科技
互联网与科技发展
北京互联网科技公司
互联网 科技创新
云电互联网科技
壕鑫互联网络科技
长亮科技 互联网金融
互联网科技公司做什么
互联网科技大会案例
衡水科技产业互联网平台
北京大学互联网科技怎么样
金融科技与互联网金融相同和不同
互联网金融科技公司干啥的
崇明区互联网教育科技诚信经营
皮皮虾互联网科技有限公司
江苏互联网智能科技软件
互联网科技包装股
上海互联网科技园景观
手冲咖啡和咖啡机区别
新华互联网科技学校
互联网科技作文
欧洲十大科技互联网公司
注册互联网科技公司经营范围大全
工业互联网山东科技大学
广州千川互联网科技有限公司
互联网科技资金流入
卡尔迅互联网科技有限公司
宁波跨境商互联网科技有限公司