java通过反射获取Java对象属性值
2020-03-24 16:26:57来源:博客园 阅读 ()
java通过反射获取Java对象属性值
说明:
作为反射工具类,通过对象和属性的名字获取对象属性的值,如果在当前对象属性没有找到,依次向上收集所有父类的属
性,直到找到属性值,没有找到返回null;
代码:
1.classUtil
package com.example.demo.utill; import java.lang.reflect.Field; /** * description: TODO * date: 2020/3/24 0024 下午 21:32 * * @author : Administrator * @since : 1.0 **/ public class ClassUtil { public static Object getPropertyValue(Object obj, String propertyName) throws IllegalAccessException { Class<?> Clazz = obj.getClass(); Field field; if ((field = getField(Clazz, propertyName)) == null) return null; field.setAccessible(true); return field.get(obj); } public static Field getField(Class<?> clazz, String propertyName) { if (clazz == null) return null; try { return clazz.getDeclaredField(propertyName); } catch (NoSuchFieldException e) { return getField(clazz.getSuperclass(), propertyName); } } }
2.测试类和接口
package com.example.demo.utill; /** * description: TODO * date: 2020/3/24 0024 下午 21:50 * * @author : Administrator * @since : 1.0 **/ public class Person { private String age; public String getAge() { return age; } public void setAge(String age) { this.age = age; } }
package com.example.demo.utill; /** * description: TODO * date: 2020/3/24 0024 下午 21:42 * * @author : Administrator * @since : 1.0 **/ public class User extends Person{ private String name ; public String getName() { return name; } public void setName(String name) { this.name = name; } }
3.测试
package com.example.demo.utill; /** * description: TODO * date: 2020/3/24 0024 下午 21:41 * * @author : Administrator * @since : 1.0 **/ public class Test { public static void main(String[] args) throws IllegalAccessException { User u = new User(); u.setName("张三"); u.setAge("20"); Object o = ClassUtil.getPropertyValue(u,"ag1e"); System.out.println(o); } }
// outPut:null
原文链接:https://www.cnblogs.com/jonrain0625/p/12562480.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:Java中的匿名对象
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash