`
sd8089730
  • 浏览: 260111 次
  • 性别: Icon_minigender_1
  • 来自: 吉林
社区版块
存档分类
最新评论

java.lang.refect反射UserForm

阅读更多
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;

import com.chai.form.UserForm;
import comm.chai.vo.UserVo;

public class test {

	public static void Copyreflect(Object obj1, Object obj2) {
		Class classobj1 = obj1.getClass();
		Class classobj2 = obj2.getClass();
		Field[] fields = classobj1.getDeclaredFields();
		for (int i = 0; i < fields.length; i++) {
			Field field = fields[i];
			String setMethodname = "set"
					+ field.getName().substring(0, 1).toUpperCase()
					+ field.getName().substring(1);
			String getMethodname = "get"
					+ field.getName().substring(0, 1).toUpperCase()
					+ field.getName().substring(1);
			try {
				if (field.getType() == String.class) {

					Method getmethod = classobj1.getDeclaredMethod(
							getMethodname, new Class[] {});
					Method setmethod = classobj2.getDeclaredMethod(
							setMethodname, new Class[] { String.class });
					setmethod.invoke(obj2, new Object[] { getmethod.invoke(
							obj1, new Object[] {}) });

				}else if (field.getType() == int.class) {

					Method getmethod = classobj1.getDeclaredMethod(
							getMethodname, new Class[] {});
					Method setmethod = classobj2.getDeclaredMethod(
							setMethodname, new Class[] { int.class });
					setmethod.invoke(obj2, new Object[] { getmethod.invoke(
							obj1, new Object[] {}) });
				}
			} catch (SecurityException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (NoSuchMethodException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalArgumentException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (IllegalAccessException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			} catch (InvocationTargetException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}

		}
	}

	public static void main(String[] args) {
		UserForm form = new UserForm();
		form.setUsername("chai");
		form.setId(1000);
		UserVo vo = new UserVo();
		Copyreflect(form, vo);
		System.out.println(vo.getUsername()+"=="+vo.getId());

	}
}

 

分享到:
评论

相关推荐

    reflect-ui.com:桥接的反映ui文档网站

    反射设计系统及其网页 设计系统 目录 [NextJS]入门 首先,运行开发服务器: npm run dev # or yarn dev 用浏览器打开以查看结果。 您可以通过修改pages/index.js来开始编辑页面。 页面在您编辑文件时自动更新。 ...

    C++算法的一些资料,有空可以看看哦

    此外,"refect.rar"还可能包括一些经典算法的总结、面试题目的解析、常见误区的讨论以及准备面试的技巧。在当今竞争激烈的编程领域,掌握扎实的算法基础不仅能提升个人的编程素养,还能帮助我们在求职面试中脱颖而出...

    S变换+Sockwell R G , Mansinha L , Lowe R P . Localization of the complex spectrum: the S transformJ

    s变换用的高斯窗函数( 高斯窗是指数窗的一种,它也无负的旁瓣,而且没有旁瓣波动,因而不回引起计算谱中假的极大值或极小值,而且高斯窗频率窗函数的主瓣比指数窗的主瓣窄,分辨率比指数窗有所提高。

    2021科大讯飞车辆贷违预测大赛冠军源码+全部资料.zip

    2021科大讯飞车辆贷违预测大赛冠军源码+全部资料.zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

    AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip

    AI图像处理工具包-一键抠图、背景切换、旧照片修复、人像漫画化、视频卡通化(Python+OpenCV+Dlib+TensorFlow).zip [资源说明] 1、该项目是团队成员近期最新开发,代码完整,资料齐全,含设计文档等 2、上传的项目源码经过严格测试,功能完善且能正常运行,请放心下载使用! 3、本项目适合计算机相关专业(人工智能、通信工程、自动化、电子信息、物联网等)的高校学生、教师、科研工作者、行业从业者下载使用,可借鉴学习,也可直接作为毕业设计、课程设计、作业、项目初期立项演示等,也适合小白学习进阶,遇到问题不懂就问,欢迎交流。 4、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 5、不懂配置和运行,可远程教学 欢迎下载,学习使用!

    基于java+springboot+vue+mysql的远程教育网站设计与实现.docx

    基于java+springboot+vue+mysql的远程教育网站设计与实现.docx

    springboot005学生心理咨询评估系统(源码+数据库+论文+PPT+包调试+一对一指导)

    毕业设计资料,计算机毕业设计,源码,毕业论文,毕业答辩,答辩PPT,Java毕业设计,php毕业设计,ASP.NET毕业设计,毕业指导,计算机作业,php作业,java作业,ASP.NET作业,编程作业,管理系统,网站,app,毕业设计学习,Java学习,php学习,ASP.NET学习,java课程,php课程,ASP.NET课程,答辩技巧,SQLSERVER数据库,Mysql数据库,jdbc,SSM框架,SpringBoot框架,Html5,小程序

    蓝牙串口助手,可以连接HC-05等蓝牙模块,实现单片机设备与手机通讯,安卓手机,蓝牙调试助手,具有按键功能!

    蓝牙串口助手,可以连接HC-05等蓝牙模块,实现单片机设备与手机通讯,安卓手机,蓝牙调试助手,具有按键功能!

    TriLib-2-Model-Loading-Package-2.3.7.unitypackage

    TriLib 2 是一个跨平台的运行时 3D 模型导入器

Global site tag (gtag.js) - Google Analytics