1.简要说明:在java代码开发过程中,总会遇到实体类bean直接的属性复制问题,将一个bean中的值复制到另一个bean中,这时如果属性名是形同的,(仅仅有大小写或带下划线_或带横杠-)的区别,那就可以用此方法来进行赋值

2.`

import java.lang.reflect.Field;

import java.lang.reflect.Modifier;

/**

* @author author

* @ClassName: BeanUtil

* @Description: bean

* @date 2020-03-31 03:57:36

*/

public class BeanUtil {

/**

* @param object 已赋值的bean

* @param cls 待赋值的bean的class

* @return 返回复制后的目标bean

* @throws Exception

* @Title: beanTobeanLowerCase

* @Description: 对象bean间属性值复制:无视大小写和下划线_和横杠-

* @author author

* @date 2020-03-31 03:40:56

*/

public static Object beanTobeanLowerCase(Object object, Class> cls) throws Exception {

Object obj = cls.newInstance();

if (object != null) {

Class> clsOld = object.getClass();

Field[] fieldsOld = clsOld.getDeclaredFields();

Field[] fields = obj.getClass().getDeclaredFields();

for (Field fieldOld : fieldsOld) {

String fieldNameOld = fieldOld.getName().replace("-", "");

fieldNameOld = fieldNameOld.replace("", "");

int modOld = fieldOld.getModifiers();

if (Modifier.isPrivate(modOld) && !Modifier.isFinal(modOld)) {

fieldOld.setAccessible(true);

for (Field field : fields) {

String fieldName = field.getName().replace("-", "");

fieldName = field.getName().replace("", "");

int mod = field.getModifiers();

if (Modifier.isPrivate(mod) && !Modifier.isFinal(mod)) {

field.setAccessible(true);

if (fieldNameOld.equalsIgnoreCase(fieldName)) {

field.set(obj, fieldOld.get(object));

}

}

}

}

}

}

return obj;

}

}

java对象上有横线_对象bean间属性值复制:无视大小写和下划线_和横杠-相关推荐

  1. scala中何时使用下划线_在Scala中使用下划线

    scala中何时使用下划线 Underscore (_) character is reserved in Scala and has multiple usages in the programmi ...

  2. java双下划线改单下划线_单下划线与双下划线的区别

    内容目录 单下划线与双下划线的区别 ​ Python用下划线作为前缀和后缀指定特殊变量和定义方法,主要有如下四种形式: 单下划线(_) 名称前的单下划线(如:_name) 名称前的双下划线(如:__n ...

  3. python前后双下划线_【Python】单下划线与双下划线的区别

    Python 用下划线作为前缀和后缀指定特殊变量和定义方法,主要有如下四种形式: l 单下划线( _ ) l 名称前的单下划线(如: _name ) l 名称前的双下划线(如: __name ) l ...

  4. java 转xml 变成两根下划线_XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以...

    首先去官网下载响应JAR包 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNum ...

  5. java 英文数字下划线_为什么Java7开始在数字中使用下划线

    JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长 ...

  6. 将对象的属性值复制到另一个对象中

    将对象的属性值复制到另一个对象中 /**** 将第一个对象的属性值复制到第二个对象中* @param <T> 第一个对象* @param <R> 第二个对象*/ class H ...

  7. jsp正则表达式:支持中文、英文大小字母、英文下划线“_“、英文横线“-“和数字

    某平台规范:name支持中文.英文大小字母.英文下划线"_".英文横线"-"和数字. 我用jsp正则表达式test函数,发现只能检验字符串中含有这几类字符,但是 ...

  8. python中五种下划线 _

    python中五种下划线 "_" 单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:var 单下划线:_ 在文章结尾处,你可以找到一个简 ...

  9. python中的下划线_讲解

    python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...

最新文章

  1. vue-threeJS数据驱动的三维图形可视化
  2. 能玩java游戏oppo按键手机_游戏手机排行榜|OPPO Reno果然不负期待
  3. 你需要了解的 JIT Debugging
  4. 离职总结:大公司与小公司的个人体验
  5. 【ICCV2019】完整论文列表
  6. scrollspy 滚动监听插件
  7. 数据结构之第一章一些概念
  8. 顺序堆栈实现学生信息管理系统
  9. 如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017
  10. 为什么使用MATLAB的imnoise函数添加高斯噪声时要将方差除以255^2
  11. 葡萄城报表模板库更新:新增6个行业、50张经典报表模板
  12. Computational Social Science计算社会学-《Science》文章翻译
  13. ffmpeg实战教程(十二)为视频添加/更换背景音乐
  14. 网络不断电系统服务器ip,IP网络控制主机 T-7700N
  15. 优秀logo,最基础的设计技巧(三)
  16. re模块剩余和subprocess模块
  17. 硬件设计之一——电源设计01:电源防护
  18. 新型红包套路,论推广和运营,灰产们真是一把好手
  19. 学会OpenStack之核心Nova服务一篇就够了!!!
  20. re2c源码下载及编译

热门文章

  1. 一文带你搞懂vue中的this.$nextTick
  2. Windows上解除宽带限速(网速明显提升)
  3. Xtensa DSP结构学习
  4. gis空间校正没反应_使用ArcGIS进行空间校正的步骤(矢量数据)
  5. Kubernetes:基于命令行终端UI的管理工具 K9s
  6. Word2016查找和替换通配符(完全版)
  7. 06.破解Windows7密码
  8. 艾美捷双链RNA定量试剂盒作用盒原理分析
  9. linux如何添加360网站卫士ip,360网站卫士新增CNAME接入方式 快速设置方便站长
  10. 计算机专业英语(二)缩略词全称与解释