java对象上有横线_对象bean间属性值复制:无视大小写和下划线_和横杠-
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间属性值复制:无视大小写和下划线_和横杠-相关推荐
- scala中何时使用下划线_在Scala中使用下划线
scala中何时使用下划线 Underscore (_) character is reserved in Scala and has multiple usages in the programmi ...
- java双下划线改单下划线_单下划线与双下划线的区别
内容目录 单下划线与双下划线的区别 Python用下划线作为前缀和后缀指定特殊变量和定义方法,主要有如下四种形式: 单下划线(_) 名称前的单下划线(如:_name) 名称前的双下划线(如:__n ...
- python前后双下划线_【Python】单下划线与双下划线的区别
Python 用下划线作为前缀和后缀指定特殊变量和定义方法,主要有如下四种形式: l 单下划线( _ ) l 名称前的单下划线(如: _name ) l 名称前的双下划线(如: __name ) l ...
- java 转xml 变成两根下划线_XStream实现xml和java对象之间的互相转换(包括对属性,别名,下划线_的处理),同理JSON也可以...
首先去官网下载响应JAR包 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNum ...
- java 英文数字下划线_为什么Java7开始在数字中使用下划线
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量.其中的一个特征是介绍字面常量数字的下划线.从Java7开始,你就可以在你的Java代码里把长 ...
- 将对象的属性值复制到另一个对象中
将对象的属性值复制到另一个对象中 /**** 将第一个对象的属性值复制到第二个对象中* @param <T> 第一个对象* @param <R> 第二个对象*/ class H ...
- jsp正则表达式:支持中文、英文大小字母、英文下划线“_“、英文横线“-“和数字
某平台规范:name支持中文.英文大小字母.英文下划线"_".英文横线"-"和数字. 我用jsp正则表达式test函数,发现只能检验字符串中含有这几类字符,但是 ...
- python中五种下划线 _
python中五种下划线 "_" 单前导下划线:_var 单末尾下划线:var_ 双前导下划线:__var 双前导和末尾下划线:var 单下划线:_ 在文章结尾处,你可以找到一个简 ...
- python中的下划线_讲解
python中,下划线 "_""_"" \_" 不管是单独作为变量名或者作为变量名的前缀或者后缀,是有特殊含义的,下面简要的来总结一下. 1 ...
最新文章
- vue-threeJS数据驱动的三维图形可视化
- 能玩java游戏oppo按键手机_游戏手机排行榜|OPPO Reno果然不负期待
- 你需要了解的 JIT Debugging
- 离职总结:大公司与小公司的个人体验
- 【ICCV2019】完整论文列表
- scrollspy 滚动监听插件
- 数据结构之第一章一些概念
- 顺序堆栈实现学生信息管理系统
- 如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017
- 为什么使用MATLAB的imnoise函数添加高斯噪声时要将方差除以255^2
- 葡萄城报表模板库更新:新增6个行业、50张经典报表模板
- Computational Social Science计算社会学-《Science》文章翻译
- ffmpeg实战教程(十二)为视频添加/更换背景音乐
- 网络不断电系统服务器ip,IP网络控制主机 T-7700N
- 优秀logo,最基础的设计技巧(三)
- re模块剩余和subprocess模块
- 硬件设计之一——电源设计01:电源防护
- 新型红包套路,论推广和运营,灰产们真是一把好手
- 学会OpenStack之核心Nova服务一篇就够了!!!
- re2c源码下载及编译
热门文章
- 一文带你搞懂vue中的this.$nextTick
- Windows上解除宽带限速(网速明显提升)
- Xtensa DSP结构学习
- gis空间校正没反应_使用ArcGIS进行空间校正的步骤(矢量数据)
- Kubernetes:基于命令行终端UI的管理工具 K9s
- Word2016查找和替换通配符(完全版)
- 06.破解Windows7密码
- 艾美捷双链RNA定量试剂盒作用盒原理分析
- linux如何添加360网站卫士ip,360网站卫士新增CNAME接入方式 快速设置方便站长
- 计算机专业英语(二)缩略词全称与解释