对不同对象的相同属性进行赋值,被改变的是des
来源:互联网 发布:飞鸽翻墙软件 编辑:程序博客网 时间:2024/04/29 22:15
/**
* 潜复制,对不同对象的相同属性进行赋值,被改变的是des
*
* @param source
* @param desObject目标对象
*/
public static void simpleValueCopy(Object source, Object desObject) {
if (source == null || desObject == null)
return;
Method[] sourceMethods = source.getClass().getMethods();
Method[] desMethods = desObject.getClass().getMethods();
for (Method m : sourceMethods) {
String methodName = m.getName();
if (methodName.startsWith("get")) {
String methodTmp = methodName.replaceFirst("get", "set");
for (Method desMethod : desMethods) {
try {
if (methodTmp.equals(desMethod.getName())) {
desMethod.invoke(desObject,
m.invoke(source, new Object[] {}));
}
} catch (Exception e) {
}
}
} else if (methodName.startsWith("is")) {
String methodTmp = methodName.replaceFirst("is", "set");
for (Method desMethod : desMethods) {
try {
if (methodTmp.equals(desMethod.getName())) {
desMethod.invoke(desObject,
m.invoke(source, new Object[] {}));
}
} catch (Exception e) {
}
}
}
}
}
* 潜复制,对不同对象的相同属性进行赋值,被改变的是des
*
* @param source
* @param desObject目标对象
*/
public static void simpleValueCopy(Object source, Object desObject) {
if (source == null || desObject == null)
return;
Method[] sourceMethods = source.getClass().getMethods();
Method[] desMethods = desObject.getClass().getMethods();
for (Method m : sourceMethods) {
String methodName = m.getName();
if (methodName.startsWith("get")) {
String methodTmp = methodName.replaceFirst("get", "set");
for (Method desMethod : desMethods) {
try {
if (methodTmp.equals(desMethod.getName())) {
desMethod.invoke(desObject,
m.invoke(source, new Object[] {}));
}
} catch (Exception e) {
}
}
} else if (methodName.startsWith("is")) {
String methodTmp = methodName.replaceFirst("is", "set");
for (Method desMethod : desMethods) {
try {
if (methodTmp.equals(desMethod.getName())) {
desMethod.invoke(desObject,
m.invoke(source, new Object[] {}));
}
} catch (Exception e) {
}
}
}
}
}
0 0
- 对不同对象的相同属性进行赋值,被改变的是des
- javabean 不同的类 相同属性赋值
- Java 对象之间相同属性的赋值
- Spring Controller 如何对不同对象中相同的属性名注入不同的值
- 不同实体类相同属性之间的快速赋值
- c# 对两个Datatable的结构相同进行合并,结构相同和不同
- 相同属性的Bean相互赋值
- 给相同的类对象赋值
- java不同对象属性赋值
- 相同代码不同属性导致的问题
- 对文件进行对称的DES加密
- 从不同的视角看,相同的对象可以是不同的角色:
- C# 不同命名空间的相同类,反射赋值
- DozerBeanMapper对象之间相同属性名赋值
- 两个java对象相同属性赋值
- DozerBeanMapper对象之间相同属性名赋值
- C# 匿名类型 对象 转换成 其他 匿名类对象(具有 相同特性值 的 属性 之间的赋值)
- 初始化与赋值是不同的操作
- Unity3D 集成 Face++ FacePlusPlus httpClient http协议 byte数组转string
- protobuf使用错误总结
- VMware网络连接方式 Host-only
- cocos2dx 常用的基本功能
- node.js process nextTick作用
- 对不同对象的相同属性进行赋值,被改变的是des
- 关于error file: /boot/grub/i386-pc/normal.mod not found. Grub Rescue的修复问题
- Win32编程点滴之PreTranslateMessage与消息循环
- 理解文档/视图结构
- 便携式斑马打印机条码控件ThermalLabel SDK
- 查看一个变量的类型
- Mac OS X 10.9 安装 rails
- crm2011查询审核记录
- 主语从句