Advertisement
Guest User

Untitled

a guest
Nov 10th, 2016
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 5.02 KB | None | 0 0
  1. // Classe Suco
  2. package exemplo;
  3.  
  4. import java.util.Objects;
  5.  
  6. public class Suco {
  7.  
  8.  private String nome;
  9.  
  10.  public Suco() {
  11.  }
  12.  
  13.  public Suco(String nome) {
  14.   this.nome = nome;
  15.  }
  16.  
  17.  public String getNome() {
  18.   return nome;
  19.  }
  20.  
  21.  public void setNome(String nome) {
  22.   this.nome = nome;
  23.  }
  24.  
  25.  @Override
  26.  public int hashCode() {
  27.   int hash = 7;
  28.   hash = 43 * hash + Objects.hashCode(this.nome);
  29.   return hash;
  30.  }
  31.  
  32.  @Override
  33.  public boolean equals(Object obj) {
  34.   if (this == obj) {
  35.    return true;
  36.   }
  37.   if (obj == null) {
  38.    return false;
  39.   }
  40.   if (getClass() != obj.getClass()) {
  41.    return false;
  42.   }
  43.   final Suco other = (Suco) obj;
  44.   return Objects.equals(this.nome, other.nome);
  45.  }
  46. }
  47.  
  48. // Classe Mix
  49. package exemplo;
  50.  
  51. import java.util.Objects;
  52.  
  53. public class Mix {
  54.  
  55.  private Suco suco1;
  56.  private Suco suco2;
  57.  
  58.  public Mix() {
  59.  }
  60.  
  61.  public Mix(Suco suco1, Suco suco2) {
  62.   this.suco1 = suco1;
  63.   this.suco2 = suco2;
  64.  }
  65.  
  66.  public Suco getSuco1() {
  67.   return suco1;
  68.  }
  69.  
  70.  public void setSuco1(Suco suco1) {
  71.   this.suco1 = suco1;
  72.  }
  73.  
  74.  public Suco getSuco2() {
  75.   return suco2;
  76.  }
  77.  
  78.  public void setSuco2(Suco suco2) {
  79.   this.suco2 = suco2;
  80.  }
  81.  
  82.  @Override
  83.  public int hashCode() {
  84.   int hash = 13;
  85.   hash = 59 * ((Objects.hashCode(this.suco1)) + (Objects.hashCode(this.suco2)));
  86.   return hash;
  87.  }
  88.  
  89.  @Override
  90.  public boolean equals(Object obj) {
  91.   if (this == obj) {
  92.    return true;
  93.   }
  94.   if (obj == null) {
  95.    return false;
  96.   }
  97.   if (getClass() != obj.getClass()) {
  98.    return false;
  99.   }
  100.   final Mix mix = (Mix) obj;
  101.  
  102.   // Compara as ordens
  103.   if ((this.suco1.equals(mix.suco2)) && (this.suco2.equals(mix.suco1))) {
  104.    return true;
  105.   }
  106.  
  107.   if (!Objects.equals(this.suco1, mix.suco1)) {
  108.    return false;
  109.   }
  110.   return Objects.equals(this.suco2, mix.suco2);
  111.  }
  112. }
  113.  
  114. // Classe para testar
  115. package exemplo;
  116.  
  117. public class Exemplo {
  118.  
  119.  public static void main(String[] args) {
  120.   Suco suco1 = new Suco("Laranja");
  121.   Suco suco2 = new Suco("Açai");
  122.  
  123. // Laranja/Açai
  124.   Mix mix1 = new Mix();
  125.   mix1.setSuco1(suco1);
  126.   mix1.setSuco2(suco2);
  127.  
  128.   // Açai/Laranja
  129.   Mix mix2 = new Mix();
  130.   mix2.setSuco1(suco2);
  131.   mix2.setSuco2(suco1);
  132.  
  133.   // Deve imprimir Igual
  134.   if (mix2.equals(mix1)) {
  135.    System.out.println("Igual");
  136.   } else {
  137.    System.out.println("Diferente");
  138.   }
  139.  
  140.   // Deve ser o mesmo hashcode
  141.   System.out.println("Mix2: " + mix2.hashCode());
  142.   System.out.println("Mix1: " + mix1.hashCode());
  143.   System.out.println("\n\n");
  144.  }
  145. }
  146. RAW Paste Data
  147.  
  148. // Classe Suco
  149. package exemplo;
  150.  
  151. import java.util.Objects;
  152.  
  153. public class Suco {
  154.  
  155.  private String nome;
  156.  
  157.  public Suco() {
  158.  }
  159.  
  160.  public Suco(String nome) {
  161.   this.nome = nome;
  162.  }
  163.  
  164.  public String getNome() {
  165.   return nome;
  166.  }
  167.  
  168.  public void setNome(String nome) {
  169.   this.nome = nome;
  170.  }
  171.  
  172.  @Override
  173.  public int hashCode() {
  174.   int hash = 7;
  175.   hash = 43 * hash + Objects.hashCode(this.nome);
  176.   return hash;
  177.  }
  178.  
  179.  @Override
  180.  public boolean equals(Object obj) {
  181.   if (this == obj) {
  182.    return true;
  183.   }
  184.   if (obj == null) {
  185.    return false;
  186.   }
  187.   if (getClass() != obj.getClass()) {
  188.    return false;
  189.   }
  190.   final Suco other = (Suco) obj;
  191.   return Objects.equals(this.nome, other.nome);
  192.  }
  193. }
  194.  
  195. // Classe Mix
  196. package exemplo;
  197.  
  198. import java.util.Objects;
  199.  
  200. public class Mix {
  201.  
  202.  private Suco suco1;
  203.  private Suco suco2;
  204.  
  205.  public Mix() {
  206.  }
  207.  
  208.  public Mix(Suco suco1, Suco suco2) {
  209.   this.suco1 = suco1;
  210.   this.suco2 = suco2;
  211.  }
  212.  
  213.  public Suco getSuco1() {
  214.   return suco1;
  215.  }
  216.  
  217.  public void setSuco1(Suco suco1) {
  218.   this.suco1 = suco1;
  219.  }
  220.  
  221.  public Suco getSuco2() {
  222.   return suco2;
  223.  }
  224.  
  225.  public void setSuco2(Suco suco2) {
  226.   this.suco2 = suco2;
  227.  }
  228.  
  229.  @Override
  230.  public int hashCode() {
  231.   int hash = 13;
  232.   hash = 59 * hash + (Objects.hashCode(this.suco1)) + (Objects.hashCode(this.suco2));
  233.   return hash;
  234.  }
  235.  
  236.  @Override
  237.  public boolean equals(Object obj) {
  238.   if (this == obj) {
  239.    return true;
  240.   }
  241.   if (obj == null) {
  242.    return false;
  243.   }
  244.   if (getClass() != obj.getClass()) {
  245.    return false;
  246.   }
  247.   final Mix mix = (Mix) obj;
  248.  
  249.   // Compara as ordens
  250.   if ((this.suco1.equals(mix.suco2)) && (this.suco2.equals(mix.suco1))) {
  251.    return true;
  252.   }
  253.  
  254.   if (!Objects.equals(this.suco1, mix.suco1)) {
  255.    return false;
  256.   }
  257.   return Objects.equals(this.suco2, mix.suco2);
  258.  }
  259. }
  260.  
  261. // Classe para testar
  262. package exemplo;
  263.  
  264. public class Exemplo {
  265.  
  266.  public static void main(String[] args) {
  267.   Suco suco1 = new Suco("Laranja");
  268.   Suco suco2 = new Suco("Açai");
  269.  
  270. // Laranja/Açai
  271.   Mix mix1 = new Mix();
  272.   mix1.setSuco1(suco1);
  273.   mix1.setSuco2(suco2);
  274.  
  275.   // Açai/Laranja
  276.   Mix mix2 = new Mix();
  277.   mix2.setSuco1(suco2);
  278.   mix2.setSuco2(suco1);
  279.  
  280.   // Deve imprimir Igual
  281.   if (mix2.equals(mix1)) {
  282.    System.out.println("Igual");
  283.   } else {
  284.    System.out.println("Diferente");
  285.   }
  286.  
  287.   // Deve ser o mesmo hashcode
  288.   System.out.println("Mix2: " + mix2.hashCode());
  289.   System.out.println("Mix1: " + mix1.hashCode());
  290.   System.out.println("\n\n");
  291.  }
  292. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement