@SuppressWarnings("unchecked") public static void setObjectFieldsEmpty(Object obj) { // 对obj反射 Class objClass = obj.getClass(); Method[] objmethods = objClass.getDeclaredMethods(); Map objMeMap = new HashMap(); for (int i = 0; i < objmethods.length; i++) { Method method = objmethods[i]; objMeMap.put(method.getName(), method); } for (int i = 0; i < objmethods.length; i++) { { String methodName = objmethods[i].getName(); if (methodName != null && methodName.startsWith("get")) { try { Object returnObj = objmethods[i].invoke(obj, new Object[0]); Method setmethod = (Method) objMeMap.get("set" + methodName.split("get")[1]); if (returnObj != null) { returnObj = null; } setmethod.invoke(obj, returnObj); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } } } } }
发表评论
-
MyEclipse6.5配置Tomcat7.0
2014-11-26 10:26 824window>>Preferences>&g ... -
JSP 转换 mht java 代码
2013-11-22 10:31 1041import java.io.BufferedInputS ... -
JAVA实现FTP上传下载
2013-09-06 10:31 880import java.io.DataIn ... -
java的KVM在arm上的应用
2013-03-21 09:26 940http://wenku.baidu.com/view/162 ... -
JAVA在ARM的应用
2013-03-21 09:18 5752J2ME CDC(Connected Device Confi ... -
JAVA桌面截图
2013-03-20 15:07 787Robot robot = new Robo ... -
引用他人代码去掉前面行数
2013-03-19 11:01 876import java.io.*; public clas ... -
JAVA调用DLL文件
2012-11-25 16:02 9831 创建 TestDll.java public cla ... -
用反射清空对象属性的的值
2012-10-25 16:06 0@SuppressWarnings("unche ... -
JMS实例,包括点对点和主题订阅
2012-07-11 10:58 3002三个Java文件: JMSTest.java ... -
Jmail收发邮件
2012-07-11 09:32 1102Jmail 接收邮件: import javax.mai ... -
MyEclipse6.0反编译插件jadclipse安装
2012-05-16 11:54 1040插件下载 反编译工具jad,地址:http://www.var ... -
MyEclipse6.0反编译插件jadclipse安装
2012-05-16 11:51 0插件下载 反编译工具ja ... -
把第一个对象中不为空的数据复制到第二个对象中
2012-04-09 10:31 1055/*** *实现两个实例对象之间的对拷, * ... -
velocity导出word模板
2012-02-29 13:11 1512public class VelocityExample { ... -
Jacob操作word
2012-02-29 13:02 1356package test; import com.jacob ... -
EJB3学习资料
2011-03-31 17:28 859http://wenku.baidu.com/view/6e2 ... -
Java和C#相互调用
2011-03-31 17:23 888http://developer.51cto.com/art/ ... -
java操作注册表方法
2011-02-23 16:57 852http://www.iteye.com/topic/8229 ... -
java源程序加密解决方案(基于Classloader解密)
2011-02-22 21:55 1180最近接触到加密系统的要求 1.绑定用户的MAC地址 2 ...
相关推荐
反射技术集合,针对对象的反射操作,包含:判断对象属性是否为空、清空对象、读取设置属性等等,比较实用
Java反射技术是Java编程语言中的一个强大特性,它允许运行时动态地获取类的信息并操作类的对象。在Java中,所有类都继承自`java.lang.Object`类,并且在编译后都以.class文件的形式存在。这些类包含了类的结构信息,...
在Java开发中,Apache Commons BeanUtils库是一个非常实用的工具,它提供了许多便捷的方法来处理JavaBean对象,包括属性的复制、设置和获取等。然而,就像标题所指出的,“使用BeanUtils操作属性的一个小坑”,在...
- **复制收集算法**:将内存分为两个相等的部分,当一部分使用完后,GC会将存活对象复制到另一部分,清空已使用部分。这种方式适用于年轻代的回收。 #### 五、结论 垃圾回收是Java编程中一个非常重要的特性,它极...
以上就是从提供的内容中提取出的Android开发相关知识点,包括Activity管理、动画实现、ImageView的缩放类型以及风格和主题的运用,还有Java反射机制在获取对象属性中的应用。这些知识对于Android开发者来说都是非常...
#### 六、Java反射机制 **6.1 反射** - **概念**:运行时获取类信息并操作类的过程。 - **能做什么**: - 获取类的属性、方法等信息。 - 创建对象。 - 调用方法。 - **优点**:提高程序的灵活性。 - **缺点**:...
首先,EasyExcel的使用非常简单,它通过反射机制将Java对象与Excel表格的行数据对应起来,使得数据操作变得直观高效。要导出实体数据,我们首先需要创建一个实体类,该类的属性与Excel表格的列对应。例如,假设我们...
**透明性**:Hibernate使用反射机制,避免了字节码增强带来的额外开销。 4. **高性能**:轻量级框架,具有优秀的性能表现。 5. **映射灵活性**:支持多种复杂的关系映射,包括一对一、一对多、多对多等。 #### ...
垃圾回收器自动检测不再使用的对象并回收内存,基于引用可达性算法工作,即如果没有任何引用指向对象,则该对象可被回收。 #### 39. 静态变量和实例变量的区别 - 静态变量:类级别变量,被所有实例共享。 - 实例...
3. **反射机制**:使用Java反射机制实现透明性,无需字节码增强。 4. **高性能**:由于其轻量级设计,Hibernate具有很好的性能,并且支持多种复杂的数据关系。 **Hibernate的延迟加载(Lazy Loading)** 延迟加载是...
1. **Setter和Getter方法**:在Java中,getter和setter方法是访问和修改Bean对象属性的主要途径。Simple-Bean-Utility提供了便捷的API,可以自动根据属性名生成并执行相应的getter和setter方法,避免了手动编写大量...
本书是第II卷,以开发人员在项目开发中经常遇到的问题和必须掌握的技术为中心,介绍了应用Java进行桌面程序开发各个方面的知识和技巧,主要包括Java语法与面向对象技术、Java高级应用、窗体与控件应用、文件操作...
3. **Java反射原理**:反射允许运行时动态地获取类的信息(如类名、属性、方法等)并进行操作。它通过Class类实例来获取类的信息,通过Constructor、Method和Field类来访问构造器、方法和字段。 4. **新生代垃圾...
25 JAVA8 与元数据.................................................................................................................................25 2.4. 垃圾回收与算法 .................................
它通过反射机制遍历对象的所有字段(属性),并将其字段名称作为键,对应的字段值作为值,存储到一个`Map`中。 - `getDeclaredFields()`获取类中声明的所有字段(包括私有的)。 - `setAccessible(true)`设置字段...
要实现这一功能,我们可以借助Java的反射机制来修改Dialog内部的私有变量。在Dialog的父类中有一个名为`mShowing`的布尔型变量,这个变量控制着Dialog是否显示。通过反射,我们可以访问并修改这个变量的值,从而达到...
- **透明性**:Hibernate利用Java反射机制而非字节码增强程序实现透明性。 - **高性能**:Hibernate作为轻量级框架,具有出色的性能和灵活的映射能力,支持各种复杂的关系模式。 #### 四、Hibernate如何实现延迟...