java 将A对象的值copy到B对象(根据属性名设置属性值)
package com.zyhao.openec.catalog.pojo;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
/**
* 将 A(bean)中的值copy到B(bean)
* 注意:1,必须是同一个实体类
* 2.两个不同的对象
* 3.属性只能包含有get和set方法的类
* @author Administrator
*
*/
public class BeanCopyUitl {
public static void reflectAbeanToBbean(Object class1,Object class2) throws NoSuchMethodException,
IllegalAccessException, IllegalArgumentException,
InvocationTargetException {
// 获取实体类的所有属性,返回Field数组
Field[] field1 = class1.getClass().getDeclaredFields();
Field[] field2 = class2.getClass().getDeclaredFields();
for (int i = 0; i < field1.length; i++) {
// 获取属性的名字
String name = field1[i].getName();
// 将属性的首字符大写,方便构造get,set方法
name = name.substring(0, 1).toUpperCase() + name.substring(1);
Method m1 = class1.getClass().getMethod("get" + name);
// 调用getter方法获取属性值
Object value = m1.invoke(class1);
if (value != null) {
Field f = field2[i];
f.setAccessible(true); //设置些属性是可以访问的
// Object val = f.get(class2);//得到此属性的值
f.set(class2,value) ; //给属性设值
}
}
}
/* public static void main(String[] args) throws Exception {
Date date = new Date();
UserInfo u1 = new UserInfo("123","caiyong", 18, date);
UserInfo u2 = new UserInfo(null,"", 1898, null);
reflectTest1(u1,u2);
System.out.println(u2.toString());
}*/
}
java 将A对象的值copy到B对象(根据属性名设置属性值)相关推荐
- java 反射机制--根据属性名获取属性值
1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plaincopy /** * 根据属性名获取属性值 * * @param fieldName * @param ob ...
- java 操作属性值_java反射机制根据属性名获取属性值的操作
一.考虑安全访问范围内的属性,没有权限访问到的属性不读取 /** * 根据属性名获取属性值 * * @param fieldName * @param object * @return */ priv ...
- java通过属性名获取属性值_java反射机制根据属性名获取属性值的操作
java反射机制根据属性名获取属性值的操作,属性,对象,反射,访问权限,还可以 java反射机制根据属性名获取属性值的操作 易采站长站,站长之家为您整理了java反射机制根据属性名获取属性值的操作的相 ...
- 循环给对象创建属性名和属性值
4.7号笔记: ① 循环给对象创建属性名和属性值: data.forEach(item => {item.identity = identity;})console.log(data);
- java中遍历实体类,获取属性名和属性值
方式一(实体类): //java中遍历实体类,获取属性名和属性值public static void testReflect(Object model) throws Exception{for (F ...
- 对象的属性名与属性值
注意共有5个步骤,按顺序操作下去 1.在对象中保存的值称为属性,对象的属性名不强制要求遵守标识符规则,什么名称都可以,我对象属性的语法:1对象.属性名,注意:如果对象中没有的属性,不报错而是返回und ...
- java 反射根据属性名获取属性值
一.背景 在使用三方sdk的时候如果三方提供的api满足不了我们的需求,这时候就需要通过阅读三方sdk的代码,并通过反射来实现我们的需求. 二.根据属性名获取属性值 1.考虑安全访问范围内的属性,没有 ...
- 43.属性名和属性值
<!DOCTYPE html> <html><head><meta charset="utf-8"><title>属性名 ...
- JavaScript中的对象的属性名和属性值
1.属性名 创建一个对象 var obj =new Object(); 向对象中添加属性 obj.name ="Jerry"; 那么,name就是属性名,"Jerry&q ...
最新文章
- 一步一步webpart-webpart如何得到?(2)
- ABP入门系列(20)——使用后台作业和工作者
- docker mysql开机自启动_Docker 学会让容器开机自启服务
- FusionInsight怎么帮「宇宙行」建一个好的「云数据平台」?
- Linux 命令(6)—— sort 命令
- Ubuntu install mysql
- 从决策树学习谈到贝叶斯分类算法、EM、HMM - 结构之法 算法之道
- 那些年我们一起用过的Hybrid App
- 【供应链金融】五阿哥:如何打造钢铁电商独特供应链金融风控体系?
- win10系统bat脚本自启动程序、修改壁纸、更换主题区分主副屏壁纸
- Android EditText 获得焦点不显示光标
- 数字图像处理——隐形眼镜缺陷检测算法
- 【引用】100句经典刺透人心,伤愈后才能更坚强
- POJ 2152 树型DP //很棒的题
- 宠物食品“味及”完成数百万天使轮+融资
- 为什么加密货币投资者正在放弃他们的美国公民身份
- 如何做好检测报告的质量控制?-LIMS2
- 区域治理杂志区域治理杂志社区域治理编辑部2022年第40期目录
- 字符串匹配 KMP算法 C++
- 下载lpv9_v9社区APP下载-v9社区APP官方版 v1.0.4-114手机乐园
热门文章
- 2017inter面食德提姆
- 微机原理-I/O并行接口和并行接口芯片8255A
- 基于STM32使用嵌套结构体摸索内存对齐
- Vue简单的查看更多功能
- HW OD 机试攻略
- JPA中No entity found for query
- SAP服务器文件上传和下载
- Occlusions, Motion and Depth Boundaries with a Generic Network for Disparity, Optical Flow or Scene
- Transformer课程 第46章 Transformer模型TAPAS架构
- 校园疫情管理系统-校园疫情防控系统-校园疫情管理