本篇文章给大家分享的是有关java利用反射机制如何实现获取对象的值,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
通过反射机制得到对象中的属性和属性值 在对象中private没问题,在别的类中有时会报异常。下面的例子是在本对象中
public class Engine implements java.io.Serializable { // Fields private Long engineId; private String engineName; private String engineType; // Constructors public Engine() { } public Engine(Long engineId) { this.engineId = engineId; } public Engine(String engineName, String engineType) { this.engineName = engineName; this.engineType = engineType; } public Engine(Long engineId, String engineName, String engineType) { this.engineId = engineId; this.engineName = engineName; this.engineType = engineType; } // Property accessors public Long getEngineId() { return this.engineId; } public void setEngineId(Long engineId) { this.engineId = engineId; } public String getEngineName() { return this.engineName; } public void setEngineName(String engineName) { this.engineName = engineName; } public String getEngineType() { return this.engineType; } public void setEngineType(String engineType) { this.engineType = engineType; }public static void main(String[] args) throws Exception { Engine m = new Engine("汽车","发动机"); Class clazz = m.getClass(); Field[] f = clazz.getDeclaredFields(); String[] name = field2Name(f); Object[] value = field2Value(f, m); showNameAndValue(name, value); } public static void showNameAndValue(String[] name, Object[] value) { for (int i = 0; i < name.length; i++) { System.out.println("--" + i + "--"); System.out.println("name:" + name[i]); System.out.println("Value:" + value[i]); System.out.println("-- --"); } } public static String[] field2Name(Field[] f) { String[] name = new String[f.length]; for (int i = 0; i < f.length; i++) { name[i] = f[i].getName(); } return name; } public static Object[] field2Value(Field[] f, Object o) throws Exception { Object[] value = new Object[f.length]; for (int i = 0; i < f.length; i++) { value[i] = f[i].get(o); } return value; }}
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java EMqtt 中实现消息确认机制?(Java EMqtt怎样实现消息确认机制)
- Java 性能调优的有效手段有哪些?(Java性能调优有何有效手段)
- 探讨Uncomtrade数据库的安全防护措施
- Java 如何获取某个接口的实现类?(Java怎么获取某个接口的实现类)
- Java中如何正确使用 collections.shuffle 方法?(Java中collections.shuffle怎么使用)
- Java Swing 中常用的布局有哪些?(java swing常用布局有哪些)
- 如何通过 Java Reflection 获取泛型信息?(java reflection如何获取泛型信息)
- 如何自定义 Java 泛型通配符?(java泛型通配符怎么自定义)
- Java Spring 注解与 XML 配置的差异究竟有哪些?(java spring注解与XML配置的区别是什么)
- Java 动态线程池对性能究竟有哪些影响呢?(Java动态线程池对性能的影响)
猜你喜欢
AI推送时光机java利用反射机制如何实现获取对象的值
后端开发2023-05-31
java如何制作反射对象的获取
后端开发2023-06-02
Java如何通过反射获取对象的属性和值
后端开发2024-04-02
java的反射机制如何实现
后端开发2023-08-31
如何使用 PHP 里的反射机制实现数组转对象?
后端开发2024-04-29
java反射机制是如何实现的
后端开发2023-10-08
Go如何利用反射reflect实现获取接口变量信息
后端开发2023-06-30
如何在Java 中使用泛型或反射机制对DAO进行抽象
后端开发2023-05-31
如何在Java中利用反射机制查找指定的注解
后端开发2023-05-31
Java中使用反射机制如何实现一个Aop代理
后端开发2023-05-31
Java 中的存储机制:如何实现并发对象?
后端开发2023-08-14
用户的MAC地址如何利用java实现获取
后端开发2023-05-31
如何探讨Java代理模式与反射机制的实际应用
后端开发2023-06-17
如何利用Spring容器实现高效的Java对象存储?
后端开发2023-11-02
咦!没有更多了?去看看其它编程学习网 内容吧