Mam vytvorit metodu, ktera bude porovnavat dva objekty podle parametru, v pripade ze ma objekt nejaky objekt jako parametr, tak se rekurzivne zavola metoda... Jaks taks sem to napsal, ale kdyz to pustim, tak se mi to cely zacne volat porad dokola na nejakych prapodivnych objektech, ktery sou pravdepodobne nejaky pozustatky z prvotni tridy Object z ktery vsechny ostatni dedi... Nevite nekdo v cem mam chybu?
static boolean reflectiveEquals(Object first, Object second) throws Exception{
if (first.getClass().getName().equals(second.getClass().getName())) {
Field[] pole1 = first.getClass().getDeclaredFields();
Field[] pole2 = second.getClass().getDeclaredFields();
for (int i = 0; i < pole1.length; i++) {
System.out.println("testovani: "+pole2[i].getName());
if(pole1[i].getType().isPrimitive()){
if (!pole1[i].getType().equals(pole2[i].getType())) {
return false;
}
if (!pole1[i].getName().equals(pole2[i].getName())) {
return false;
}
}else{
reflectiveEquals(pole1[i].getName(), pole2[i].getName());
}
}
return true;
}
return false;
}
TIP: Přetáhni ikonu na hlavní panel pro připnutí webu



Nahlásit jako SPAM
IP: 81.201.55.–
Zjistit počet nových příspěvků
































