Guest User

Untitled

a guest
Jan 3rd, 2018
394
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.59 KB | None | 0 0
  1. public class Teste {
  2.  
  3. static class Pessoa {
  4. private String nome;
  5. private String email;
  6. private String telefone;
  7. private String endereco;
  8.  
  9. public Pessoa(String nome, String email, String telefone, String endereco) {
  10. this.nome = nome;
  11. this.email = email;
  12. this.telefone = telefone;
  13. this.endereco = endereco;
  14. }
  15.  
  16. public String getNome() {
  17. return nome;
  18. }
  19.  
  20. public void setNome(String nome) {
  21. this.nome = nome;
  22. }
  23.  
  24. public String getEmail() {
  25. return email;
  26. }
  27.  
  28. public void setEmail(String email) {
  29. this.email = email;
  30. }
  31.  
  32. public String getTelefone() {
  33. return telefone;
  34. }
  35.  
  36. public void setTelefone(String telefone) {
  37. this.telefone = telefone;
  38. }
  39.  
  40. public String getEndereco() {
  41. return endereco;
  42. }
  43.  
  44. public void setEndereco(String endereco) {
  45. this.endereco = endereco;
  46. }
  47. }
  48.  
  49. public static Map<String, String> getDiffs(Pessoa p1, Pessoa p2) {
  50. Map<String, String> diffs = new HashMap<>();
  51. if (!p1.getNome().equals(p2.getNome())) {
  52. diffs.put("nome", p2.getNome());
  53. }
  54.  
  55. if (!p1.getEmail().equals(p2.getEmail())) {
  56. diffs.put("email", p2.getEmail());
  57. }
  58.  
  59. if (!p1.getTelefone().equals(p2.getTelefone())) {
  60. diffs.put("telefone", p2.getTelefone());
  61. }
  62.  
  63. if (!p1.getEndereco().equals(p2.getEndereco())) {
  64. diffs.put("endereco", p2.getEndereco());
  65. }
  66.  
  67. return diffs;
  68. }
  69.  
  70.  
  71. public static void main(String[] args) {
  72. Pessoa p1 = new Pessoa("João", "joao@email.com", "1234-5678", "rua123");
  73. Pessoa p2 = new Pessoa("João", "joao12@email.com", "1234-5678", "rua678");
  74.  
  75. Map<String, String> diffs = getDiffs(p1, p2);
  76.  
  77. System.out.println(Arrays.toString(diffs.entrySet().toArray()));
  78. }
  79.  
  80. }
  81.  
  82. public class Test {
  83.  
  84. static class Pessoa {
  85. private String nome;
  86. private String email;
  87. private String telefone;
  88. private String endereco;
  89.  
  90. public Pessoa(String nome, String email, String telefone, String endereco) {
  91. this.nome = nome;
  92. this.email = email;
  93. this.telefone = telefone;
  94. this.endereco = endereco;
  95. }
  96.  
  97. public String getNome() {
  98. return nome;
  99. }
  100.  
  101. public void setNome(String nome) {
  102. this.nome = nome;
  103. }
  104.  
  105. public String getEmail() {
  106. return email;
  107. }
  108.  
  109. public void setEmail(String email) {
  110. this.email = email;
  111. }
  112.  
  113. public String getTelefone() {
  114. return telefone;
  115. }
  116.  
  117. public void setTelefone(String telefone) {
  118. this.telefone = telefone;
  119. }
  120.  
  121. public String getEndereco() {
  122. return endereco;
  123. }
  124.  
  125. public void setEndereco(String endereco) {
  126. this.endereco = endereco;
  127. }
  128. }
  129.  
  130. public static Map<String, Object> getDiffs(Pessoa p1, Pessoa p2) throws IllegalArgumentException, IllegalAccessException {
  131. Map<String, Object> diffs = new HashMap<>();
  132. for (Field field : p1.getClass().getDeclaredFields()) {
  133. field.setAccessible(true);
  134. String fieldName = field.getName();
  135. Object fieldValue1 = field.get(p1);
  136. Object fieldValue2 = field.get(p2);
  137. if (!fieldValue1.equals(fieldValue2)) {
  138. diffs.put(fieldName, fieldValue2);
  139. }
  140. }
  141.  
  142. return diffs;
  143. }
  144.  
  145.  
  146. public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException {
  147. Pessoa p1 = new Pessoa("João", "joao@email.com", "1234-5678", "rua123");
  148. Pessoa p2 = new Pessoa("João", "joao12@email.com", "1234-5678", "rua678");
  149.  
  150. Map<String, Object> diffs = getDiffs(p1, p2);
  151.  
  152. System.out.println(Arrays.toString(diffs.entrySet().toArray()));
  153. }
  154.  
  155. }
Add Comment
Please, Sign In to add comment