Faz por reflection. Vc consegue uma solução boa por ele.
A
Andre_Brito
É, com reflection dá pra fazer de boa mesmo. Eu fiz um pedaço, saca só:
packagetests.java.reflection;importjava.lang.reflect.Field;publicclassReflectionUtil{publicstaticObjectcopyAttributesFromTo(Objecta,Objectb)throwsIllegalArgumentException,IllegalAccessException{Field[]fieldsFromFirstClass=a.getClass().getDeclaredFields();Field[]fieldsFromSecondClass=b.getClass().getDeclaredFields();for(FieldcurrentFieldFromTheFirstClass:fieldsFromFirstClass){for(FieldcurrentFieldFromTheSecondClass:fieldsFromSecondClass){StringnameOfTheFirstField=currentFieldFromTheFirstClass.getName();StringnameOfTheSecondField=currentFieldFromTheSecondClass.getName();if(nameOfTheFirstField.equals(nameOfTheSecondField)){currentFieldFromTheFirstClass.setAccessible(true);currentFieldFromTheSecondClass.setAccessible(true);currentFieldFromTheFirstClass.set(a,currentFieldFromTheSecondClass.get(b));}}}returna;}publicstaticvoidmain(String[]args)throwsIllegalArgumentException,IllegalAccessException{Aa=newA();a.setFirst("1st");Bb=newB();b.setFirst("first");b.setSecond("second");AnewA=(A)ReflectionUtil.copyAttributesFromTo(a,b);System.out.println("should be first: "+newA.getFirst());}}
Desconsidere a OO nesse caso.
A
altitdb
Andre Brito
Valeuu Pelo codigo!!
xD~~
A
Andre_Brito
altitdb:
Andre Brito
Valeuu Pelo codigo!!
xD~~
Cara, não se esqueça que é só um exemplo… Tem que melhorar muito o código.
A
altitdb
Andre Brito:
altitdb:
Andre Brito
Valeuu Pelo codigo!!
xD~~
Cara, não se esqueça que é só um exemplo… Tem que melhorar muito o código.