Advertisement
desant74268

OOPHW

Jan 18th, 2022
740
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.35 KB | None | 0 0
  1. package ru.itsjava.oop.hw;
  2.  
  3. public class Bird {
  4.  
  5.     private final String species;
  6.     private double wingspan;
  7.  
  8.     public Bird(String species, double wingspan) {
  9.         this.species = species;
  10.         this.wingspan = wingspan;
  11.     }
  12.  
  13.  
  14.     public String toString(){
  15.         return "Species: " + species + " / " + "Wingspan: " + wingspan;
  16.     }
  17.  
  18.     @Override
  19.     public boolean equals(Object o) {
  20.         if (this == o) return true; // если объект сравниваем с самим собой- тру(рефлексивность)
  21.         if (o == null || getClass() != o.getClass()) return false; //проверка на нулл, а так же на класс объекта(должен быть один класс у объектов)
  22.  
  23.         Bird bird = (Bird) o;//явное приведение объекта к типу(класса)
  24.  
  25.         if (Double.compare(bird.wingspan, wingspan) != 0) return false;//сравнение размаха крыльев
  26.         return species.equals(bird.species);//сравнение видов птиц(equals для стринга)
  27.     }
  28.  
  29.     @Override
  30.     public int hashCode() {
  31.         long temp = Double.doubleToLongBits(wingspan);//
  32.         return (int) (temp ^ (temp >>> 32));//получаем хэшкод по размаху(конвертируем дабл в инт)
  33.     }
  34. }
  35.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement