Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Classe Suco
- package exemplo;
- import java.util.Objects;
- public class Suco {
- private String nome;
- public Suco() {
- }
- public Suco(String nome) {
- this.nome = nome;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- @Override
- public int hashCode() {
- int hash = 7;
- hash = 43 * hash + Objects.hashCode(this.nome);
- return hash;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final Suco other = (Suco) obj;
- return Objects.equals(this.nome, other.nome);
- }
- }
- // Classe Mix
- package exemplo;
- import java.util.Objects;
- public class Mix {
- private Suco suco1;
- private Suco suco2;
- public Mix() {
- }
- public Mix(Suco suco1, Suco suco2) {
- this.suco1 = suco1;
- this.suco2 = suco2;
- }
- public Suco getSuco1() {
- return suco1;
- }
- public void setSuco1(Suco suco1) {
- this.suco1 = suco1;
- }
- public Suco getSuco2() {
- return suco2;
- }
- public void setSuco2(Suco suco2) {
- this.suco2 = suco2;
- }
- @Override
- public int hashCode() {
- int hash = 13;
- hash = 59 * ((Objects.hashCode(this.suco1)) + (Objects.hashCode(this.suco2)));
- return hash;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final Mix mix = (Mix) obj;
- // Compara as ordens
- if ((this.suco1.equals(mix.suco2)) && (this.suco2.equals(mix.suco1))) {
- return true;
- }
- if (!Objects.equals(this.suco1, mix.suco1)) {
- return false;
- }
- return Objects.equals(this.suco2, mix.suco2);
- }
- }
- // Classe para testar
- package exemplo;
- public class Exemplo {
- public static void main(String[] args) {
- Suco suco1 = new Suco("Laranja");
- Suco suco2 = new Suco("Açai");
- // Laranja/Açai
- Mix mix1 = new Mix();
- mix1.setSuco1(suco1);
- mix1.setSuco2(suco2);
- // Açai/Laranja
- Mix mix2 = new Mix();
- mix2.setSuco1(suco2);
- mix2.setSuco2(suco1);
- // Deve imprimir Igual
- if (mix2.equals(mix1)) {
- System.out.println("Igual");
- } else {
- System.out.println("Diferente");
- }
- // Deve ser o mesmo hashcode
- System.out.println("Mix2: " + mix2.hashCode());
- System.out.println("Mix1: " + mix1.hashCode());
- System.out.println("\n\n");
- }
- }
- RAW Paste Data
- // Classe Suco
- package exemplo;
- import java.util.Objects;
- public class Suco {
- private String nome;
- public Suco() {
- }
- public Suco(String nome) {
- this.nome = nome;
- }
- public String getNome() {
- return nome;
- }
- public void setNome(String nome) {
- this.nome = nome;
- }
- @Override
- public int hashCode() {
- int hash = 7;
- hash = 43 * hash + Objects.hashCode(this.nome);
- return hash;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final Suco other = (Suco) obj;
- return Objects.equals(this.nome, other.nome);
- }
- }
- // Classe Mix
- package exemplo;
- import java.util.Objects;
- public class Mix {
- private Suco suco1;
- private Suco suco2;
- public Mix() {
- }
- public Mix(Suco suco1, Suco suco2) {
- this.suco1 = suco1;
- this.suco2 = suco2;
- }
- public Suco getSuco1() {
- return suco1;
- }
- public void setSuco1(Suco suco1) {
- this.suco1 = suco1;
- }
- public Suco getSuco2() {
- return suco2;
- }
- public void setSuco2(Suco suco2) {
- this.suco2 = suco2;
- }
- @Override
- public int hashCode() {
- int hash = 13;
- hash = 59 * hash + (Objects.hashCode(this.suco1)) + (Objects.hashCode(this.suco2));
- return hash;
- }
- @Override
- public boolean equals(Object obj) {
- if (this == obj) {
- return true;
- }
- if (obj == null) {
- return false;
- }
- if (getClass() != obj.getClass()) {
- return false;
- }
- final Mix mix = (Mix) obj;
- // Compara as ordens
- if ((this.suco1.equals(mix.suco2)) && (this.suco2.equals(mix.suco1))) {
- return true;
- }
- if (!Objects.equals(this.suco1, mix.suco1)) {
- return false;
- }
- return Objects.equals(this.suco2, mix.suco2);
- }
- }
- // Classe para testar
- package exemplo;
- public class Exemplo {
- public static void main(String[] args) {
- Suco suco1 = new Suco("Laranja");
- Suco suco2 = new Suco("Açai");
- // Laranja/Açai
- Mix mix1 = new Mix();
- mix1.setSuco1(suco1);
- mix1.setSuco2(suco2);
- // Açai/Laranja
- Mix mix2 = new Mix();
- mix2.setSuco1(suco2);
- mix2.setSuco2(suco1);
- // Deve imprimir Igual
- if (mix2.equals(mix1)) {
- System.out.println("Igual");
- } else {
- System.out.println("Diferente");
- }
- // Deve ser o mesmo hashcode
- System.out.println("Mix2: " + mix2.hashCode());
- System.out.println("Mix1: " + mix1.hashCode());
- System.out.println("\n\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement