Как сделать сравнение двух полей Pojo? - PullRequest
0 голосов
/ 16 января 2020

Я хочу проверить каждое поле по отдельности и найти поле, которое было обновлено.

public class User{
    private Long id;
    private String name;
    private String description;
    private List<Address> resources;
}
public class Address{
    private Long id;
    private String street;
    private String position;
} 

метод, который я не хочу Как мне решить эту проблему ?

List<User> user1 = ...
List<User> user2 = ...
for(int i=0; i<user1.size(); i++){
    if(user1.get(i).getId().equals(user2.get(i).getId()){
       if(!(user1.get(i).getName().equals(user2.get(i).getName())){
         //updated name field
       }
       if(!(user1.get(i).getDescription().equals(user2.get(i).getDescription())){
         //updated description field
       }
       for(int k=0; k<user1.getAddress().size(); k++){

        if(!(user1.get(i).getAddress().get(i).getStreet().equals(user2.get(i).getAddress().get(i).getStreet())){
        //update street field
         }
       }
    }     
 } 

Спасибо за ваши предложения по решению.

...