import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class myCopyTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
copyTestA copyA = new copyTestA();
copyTestB copyB = new copyTestB();
copyA.setJyouhou("testyong");
myCopyProperties(copyA, copyB);
System.out.println(copyB.getJyouhou());
}
public static void myCopyProperties(Object objectA, Object objectB) {
Field[] fields = objectA.getClass().getDeclaredFields();
Method methodA = null;
Method methodB = null;
String methodAName = null;
String methodBName = null;
for (Field field : fields) {
String name = field.getName();
int length = name.length();
methodAName = new StringBuffer("get").
append(name.substring(0,1).toUpperCase()).
append(name.substring(1,length)).toString();
methodBName = new StringBuffer("set").
append(name.substring(0,1).toUpperCase()).
append(name.substring(1,length)).toString();
try {
methodA = objectA.getClass().getDeclaredMethod(methodAName);
methodB = objectB.getClass().getDeclaredMethod(
methodBName, Class.forName("java.lang.String"));
String methodBParam = (String)methodA.invoke(objectA);
methodB.invoke(objectB, methodBParam);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class myCopyTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
copyTestA copyA = new copyTestA();
copyTestB copyB = new copyTestB();
copyA.setJyouhou("testyong");
myCopyProperties(copyA, copyB);
System.out.println(copyB.getJyouhou());
}
public static void myCopyProperties(Object objectA, Object objectB) {
Field[] fields = objectA.getClass().getDeclaredFields();
Method methodA = null;
Method methodB = null;
String methodAName = null;
String methodBName = null;
for (Field field : fields) {
String name = field.getName();
int length = name.length();
methodAName = new StringBuffer("get").
append(name.substring(0,1).toUpperCase()).
append(name.substring(1,length)).toString();
methodBName = new StringBuffer("set").
append(name.substring(0,1).toUpperCase()).
append(name.substring(1,length)).toString();
try {
methodA = objectA.getClass().getDeclaredMethod(methodAName);
methodB = objectB.getClass().getDeclaredMethod(
methodBName, Class.forName("java.lang.String"));
String methodBParam = (String)methodA.invoke(objectA);
methodB.invoke(objectB, methodBParam);
} catch (SecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
浙公网安备 33010602011771号