当前位置: 首页 > 编程日记 > 正文

Java反射得到属性的值和设置属性的值

package com.whbs.bean;  public class UserBean {  private Integer id;  private int age;  private String name;  private String address;  public UserBean(){  System.out.println("实例化");  }  public Integer getId() {  return id;  }  public void setId(Integer id) {  this.id = id;  }  public int getAge() {  return age;  }  public void setAge(int age) {  this.age = age;  }  public String getName() {  return name;  }  public void setName(String name) {  this.name = name;  }  public String getAddress() {  return address;  }  public void setAddress(String address) {  this.address = address;  }  }  2 > 反射测试  package com.whbs.test;  import java.lang.reflect.Field;  
import java.lang.reflect.Method;  import com.whbs.bean.UserBean;  public class Test1 {  public static void main(String[] args) throws Exception {  /* * 实列化类 方法1 */  //String classPath = "com.whbs.bean.UserBean";  //Class cla = Test1.class.getClassLoader().loadClass(classPath);  //Object ob = cla.newInstance();  /* * 实列化类 方法2 */  UserBean bean = new UserBean();  bean.setId(100);  bean.setAddress("武汉");  //得到类对象  Class userCla = (Class) bean.getClass();  /* * 得到类中的所有属性集合 */  Field[] fs = userCla.getDeclaredFields();  for(int i = 0 ; i < fs.length; i++){  Field f = fs[i];  f.setAccessible(true); //设置些属性是可以访问的  Object val = f.get(bean);//得到此属性的值     
        System.out.println("name:"+f.getName()+"\t value = "+val);  String type = f.getType().toString();//得到此属性的类型  if (type.endsWith("String")) {  System.out.println(f.getType()+"\t是String");  f.set(bean,"12") ;        //给属性设值  }else if(type.endsWith("int") || type.endsWith("Integer")){  System.out.println(f.getType()+"\t是int");  f.set(bean,12) ;       //给属性设值  }else{  System.out.println(f.getType()+"\t");  }  }  /* * 得到类中的方法 */  Method[] methods = userCla.getMethods();  for(int i = 0; i < methods.length; i++){  Method method = methods[i];  if(method.getName().startsWith("get")){  System.out.print("methodName:"+method.getName()+"\t");  System.out.println("value:"+method.invoke(bean));//得到get 方法的值  
           }  }  }  }  

转载于:https://www.cnblogs.com/yaomajor/p/8157657.html

相关文章:

ASP.NET 中的正则表达式

引言 Microsoft.NET Framework 对正则表达式的支持是一流的&#xff0c;甚至在 Microsoft ASP.NET 中也有依赖正则表达式语言的控件。本文介绍了深入学习正则表达式的基础知识和推荐内容。 本文主要面向对正则表达式知之甚少或没有使用经验&#xff0c;但却熟悉 ASP.NET、可借助…

如何用最强模型BERT做NLP迁移学习?

作者 | 台湾大学网红教授李宏毅的三名爱徒来源 | 井森堡&#xff0c;不定期更新机器学习技术文并附上质量佳且可读性高的代码。编辑 | Jane谷歌此前发布的NLP模型BERT&#xff0c;在知乎、Reddit上都引起了轰动。其模型效果极好&#xff0c;BERT论文的作者在论文里做的几个实验…

【驱动】GPIO寄存器配置总结

#【驱动】GPIO寄存器配置总结 0、设置复用功能为GPIO 1、设置引脚特性&#xff0c;与硬件匹配 2、配置寄存器举例 字段解释&#xff1a; 2.0、SRE 数据位&#xff1a;0 SRE(Slew Rate Field)&#xff1a;转换速度字段&#xff1f;&#xff1f;&#xff1f;这是一个可以调…

android Tabhost部件

本文结合源代码和实例来说明TabHost的用法。 使用TabHost 可以在一个屏幕间进行不同版面的切换&#xff0c;例如android自带的拨号应用&#xff0c;截图&#xff1a; 查看tabhost的源代码&#xff0c;主要实例变量有&#xff1a; private TabWidget mTabWidget; private Fr…

网易开源支持图像识别的自动化UI测试工具,零基础亲测好评!

编辑 | Jane出品 | AI科技大本营AI科技大本营给大家推荐了很多有意思、适合开发者们的工具&#xff0c;比如代码修复神器、帮小白快速分析 Error、PDF 翻译工具、变量命名神器等等。今天&#xff0c;营长要专门给测试人员&#xff0c;或者想做测试的小伙伴们推荐一款工具&#…

【驱动】GPIO 作为按键时的 设备树 配置

#【驱动】GPIO作为按键时的 设备树 配置 0、设备树 0.0 别名 imx6ul.dtsi 什么作用&#xff1f;&#xff1f;&#xff1f; /*************开始/ / { aliases {… gpio0 &gpio1; gpio1 &gpio2; gpio2 &gpio3; gpio3 &gpio4; gpio4 &gpio5; /**********…

最小树形图及其生产方法

诸位看官&#xff0c;这是我第一次在整篇文章的所有图片里面加水印。小弟写博客的时间不长&#xff0c;就有两篇博客被盗用并未注明原文网址。这一方面使我痛心不已&#xff0c;另一方面迫使我不得不重新考虑一下版权保护问题。小弟不是吝啬鬼&#xff0c;如果影响阅读或者是确…

【数据库】MySQL的C语言接口学习

0、【初始化】 MYSQL* mysql_init(MYSQL *mysql); 1、【设置连接选项】 int mysql_options(MYSQL *mysql,enum mysql_option option, const void *arg); 2、【连接】 MYSQL* mysql_real_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd, cons…

程序员单身比例有多高?【2019开发者图鉴】告诉你

编辑 | Jane 出品 | AI科技大本营 本次调查共 8 个问题&#xff0c;根据这些数字我们整理了《2019开发者图鉴》&#xff0c;下面营长将发现的一些有意思的数字分享给大家&#xff1a; 性别与年龄 本次参与调查的男女比例约为 8&#xff1a;2&#xff08;男8女2&#xff09;。 …

26.2. Web UI

http://localhost:3000/ 原文出处&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陈景峯 转载请与作者联系&#xff0c;同时请务必标明文章原始出处和作者信息及本声明。

VC++ 6.0的小花招

Visual Studio系列中产品中&#xff0c;Visual Studio 6.0是最经典的一个版本&#xff0c;虽然后来有Visual Studio .NET 2003&#xff0c;以及2005&#xff0c;也确实添加了很多让我觉得激动的特性&#xff0c;但是从使用细节的细腻程度上来看&#xff0c;VS 6.0无疑是最棒的。…

【linux】嵌入式中 crontab的使用

0、编辑 执行&#xff1a;crontab -e 执行命令后&#xff0c;将出现一个编辑界面&#xff0c;内容格式如下 Minute Hour Day Month Dayofweek command 分钟 小时 天 月 天每星期 命令 每个字段代表的含义如下&#xff1a; Minute 每个小时的第几分钟执行该任务 Hour 每天的第几…

程序员该怎么做,才能成为coding王者?

每当做编程题目时&#xff0c;大多数人都会靠基本的直觉&#xff0c;遵循一些固定的步骤来有效地解题。不管是有意还是无意&#xff0c;在做编程题目的时你会下意识地遵循一些步骤&#xff0c;在阅读完这篇文章后你就可以将这些步骤和这篇文章联系起来&#xff0c;从而就可以更…

27.3. source code

tar zxvf bandwidthd-2.0.1.tgz cd bandwidthd-2.0.1 ./configure --prefix/srv/bandwidthd-2.0.1 make make install 原文出处&#xff1a;Netkiller 系列 手札 本文作者&#xff1a;陈景峯 转载请与作者联系&#xff0c;同时请务必标明文章原始出处和作者信息及本声明。

WF4.0实战(一):文件审批流程

http://www.cnblogs.com/zhuqil/archive/2010/04/13/DocumentApprovalProcess.html转载于:https://www.cnblogs.com/Little-Li/archive/2010/06/01/1749392.html

AI科技大本营在线公开课大放送(附演讲PPT)

新年新思&#xff01;新一年&#xff0c;每个人的梦想都闪耀着多彩光芒&#xff0c;对于AI领域的每一位学习者和从业者&#xff0c;我们充满渴望&#xff0c;怀揣梦想&#xff0c;心系对技术的不懈追求。AI科技大本营同样也有自己的新年梦想和脚踏实地的规划&#xff0c;比如今…

《微信跳一跳》安卓手机刷分软件搭建及攻略

2019独角兽企业重金招聘Python工程师标准>>> 元旦期间被微信小程序的游戏刷屏幕了。手笨脚笨的我也尝试了下这新出的小玩意&#xff0c;实在话手脚不协调最高仅仅90分&#xff0c;处于做技术的角度&#xff0c;直觉上可以技术上模拟解决&#xff0c;凑好朋友在微信群…

【libevent】libevent库学习总结(一)——基础

libevent库学习总结&#xff08;一&#xff09;——基础 一、基础 1.1、 介绍 Libevent是一个用于开发可伸缩网络服务器的事件通知库。Libevent API提供了一种机制来执行回调函数&#xff0c;当某个特定事件发生在文件描述符上或超时到达之后。此外&#xff0c;Libevent还支…

AS1.0(2.0)中的XML示例

虽然Flash早就升级为AS3.0&#xff0c;但是FMS的服务端编程依然仅支持AS1.0(2.0)&#xff0c;服务端与.net通讯的最简单方式莫过于请求一个RESTful的webService或wcf&#xff0c;通过它们返回的xml来获取数据。 var _xml:XML new XML("<ArrayOfstring xmlns\"htt…

【Qt】Qt发布可执行程序(打包依赖库)

Qt发布可执行程序&#xff08;打包依赖库&#xff09; 0、编译出可执行文件 如&#xff1a;xxx.exe 1、将xxx.exe拷贝到一个目录下面 2、启动Qt终端交互界面程序 如&#xff1a;Qt 5.6 for Desktop&#xff08;MinGW&#xff09; 3、进入xxx.exe所在的目录 4、执行命令…

小编说之“常见问题答疑”

2019独角兽企业重金招聘Python工程师标准>>> 关于前嗅Forespider爬虫的常见问题答疑 奋战在一线为客户答疑的狗蛋儿给小编提供了很多客户经常会问到的问题的素材&#xff0c;小编帮大家整理了一些&#xff0c;快来看看是不是都用的上吧&#xff01; 一、采集预览没有…

给AI开发者的新年礼物,技术公开课大放送(附演讲PPT)

各位AI科技大本营的伙伴大家好&#xff0c;营长携编辑组的全体成员给大家拜年了&#xff01; 新年新思&#xff01;新一年&#xff0c;每个人的梦想都闪耀着多彩光芒&#xff0c;对于AI领域的每一位学习者和从业者&#xff0c;我们充满渴望&#xff0c;怀揣梦想&#xff0c;心系…

通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)...

有时候&#xff0c;真想做个像样的东西出来&#xff0c;但是往往各方面的能力都不够&#xff0c;这么多人&#xff0c;Helper&#xff08;767870484&#xff09;仔细认真的阅读了这个帮助手册、并给给于了指正&#xff0c;在这里非常感谢&#xff0c;你的劳动成果已经被通用权限…

Reddit欲融资3亿美元,由腾讯领投

整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;AI科技大本营消息&#xff0c;据 TechCrunch 报道&#xff0c;多个信源透露&#xff0c;美国社交网站 Reddit 将融资 1.5 亿到 3 亿美元&#xff0c;D 轮融资将由中国科技巨头腾讯公司领投&#xff0c;投前…

【libevent】libevent库学习总结(二)——编程步骤

一、libevent编程步骤 0、分配并初始化event_base&#xff0c;两种方法 0.1 event_base_new&#xff1a;线程安全&#xff0c;代替event_init&#xff1b; 0.2 event_init&#xff1a;线程不安全&#xff0c;不推荐使用&#xff0c;仅仅是为了向后兼容 1、创建event&#xf…

HP交换机配置命令

1.命名hostname 7-West-4F-2510 2.设置管理IPvlan 1ip address 192.168.41.123 255.255.255.03.修改支持的默认vlan数max-vlans 64max-vlans //修改vlan的数量&#xff0c;默认只有8个&#xff0c;修改后需重启后才可生效4.重启reload //重启交换机5.配置v…

【Qt】Qt程序编译成功,执行时报错:程序异常结束,crashed

【Qt】Qt程序编译成功&#xff0c;执行时报错&#xff1a;程序异常结束&#xff0c;crashed 错误打印信息 Starting E:*exe… 程序异常结束。 E:*.exe crashed. 原因 使用到外部库&#xff0c;编译时&#xff0c;指定了库连接&#xff0c;但是在程序运行时找不到库&#xf…

近900000条if-then关系图谱,让神经网络“懂”常识推理

编译整理 | 一一出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;“神经网络能学习日常事件的常识推理吗&#xff1f;能&#xff0c;如果在 ATOMIC 上训练的话。”ATOMIC&#xff08;原子&#xff09; 是一个机器常识图集&#xff0c;一个用自然语言建立的 870, 000 个…

weex 阶段总结

新年伊始&#xff0c;回顾过去的一年&#xff0c;收获很多&#xff0c;之前一直在研究weex&#xff0c;说心里话感觉心好累&#xff0c;官方文档不全&#xff0c;社区不活跃&#xff0c;遇到很多坑&#xff0c;官方发布的版本有时都有坑&#xff0c;搞得我都不敢更新版本了。 但…

DOS批处理高级教程精选(六)

为什么80%的码农都做不了架构师&#xff1f;>>> 第五章 set命令详解 很久没发贴了,今天来写点讲BAT的新手教学贴! 在上一贴中我简单的介绍了一下SET设置自定义变量的作用,现在我来具体讲一下set的其他功能. 一、用set命令设置自定义变量 显示、设置或删除 cmd.exe …