Это видео недоступно.
Сожалеем об этом.

#58 Object Class equals toString hashcode in Java

Поделиться
HTML-код
  • Опубликовано: 17 янв 2023
  • Check out our courses:
    Enterprise Java Spring Microservices: go.telusko.com/enterpriseJava
    Coupon: TELUSKO10 (10% Discount)
    Master Java Spring Development : bit.ly/java-spring-cloud
    Coupon: TELUSKO20 (20% Discount)
    Udemy Courses:
    Java:- bit.ly/JavaUdemyTelusko
    Spring:- bit.ly/SpringUdemyTelusko
    Java For Programmers:- bit.ly/javaProgrammers
    For More Queries WhatsApp or Call on : +919008963671
    website : courses.telusko.com/
    In this lecture we are discussing about object class:
    -- every class in java inherit object class
    -- in this lecture we see some member method of object class
    public native int hashCode();
    public boolean equals( Object);
    public String toString();
    1)hashCode() method:
    In Java, the hashCode () method is a method that is defined in the Object class,
    which is the parent class of all classes in Java. It returns an integer value that
    represents the unique hash code of an object.
    2)equals(Object) method:
    equals(Object obj) is the method of Object class. This method is used to compare
    the given objects. It is suggested to override equals(Object obj) method to get our own equality condition on Objects.
    3)toString() method:
    We typically generally do use the toString() method to get the string representation of an object. It is very important
    and readers should be aware that whenever we try to print the object reference then internally toString() method is invoked.
    If we did not define the toString() method in your class then the Object class toString() method is invoked otherwise our
    implemented or overridden toString() method will be called.
    case 1: class which not override object class toString(), hashCode(), equals() method
    class Mobile{
    String model;
    int price;
    }
    class Main{
    public static void main(String []args){
    Mobile mb1=new Mobile();
    mb1.model="Apple";
    mb1.price=100000;
    Mobile mb2=new Mobile();
    mb2.model="Apple";
    mb2.price=100000;
    System.out.println(mb1); //Internally mb1.toString() is called and print Mobile@4617c264
    System.out.println(mb2); // Internally mb2.toString() is called and print Mobile@36baf30c
    //use of equals() method to compare to object
    boolean result =mb1.equals(mb2); //right now it give false result because by default implementation of equals() method compare reference of two objects
    System.out.println(result); //false
    //use of hashCode()
    System.out.println(mb1.hashCode()); //1175962212
    System.out.println(mb2.hashCode()); //918221580 , provide some unique value
    }
    }
    case 2: class can override object class hashCode(), toString(), equals()
    class Mobile{
    String model;
    int price;
    @Override
    public String toString(){
    return "Model: "+model+" and price: "+price;
    }
    @Override
    public int hashCode() {
    final int prime = 31;
    int result = 1;
    result = prime * result + ((model == null) ? 0 : model.hashCode());
    result = prime * result + price;
    return result;
    }
    @Override
    public boolean equals(Object obj) {
    if (this == obj)
    return true;
    if (obj == null)
    return false;
    if (getClass() != obj.getClass())
    return false;
    Mobile other = (Mobile) obj;
    if (model == null) {
    if (other.model != null)
    return false;
    } else if (!model.equals(other.model))
    return false;
    if (price != other.price)
    return false;
    return true;
    }
    }
    class Main{
    public static void main(String []args){
    Mobile mb1=new Mobile();
    mb1.model="Apple";
    mb1.price=100000;
    Mobile mb2=new Mobile();
    mb2.model="Apple";
    mb2.price=100000;
    //use of toString() method, overrides method
    System.out.println(mb1); //Internally mb1.toString() is called and print Model: Apple and price: 100000
    System.out.println(mb2); // Internally mb2.toString() is called and print Model: Apple and price: 100000
    //use of equals() method to compare two object, overrides method
    boolean result =mb1.equals(mb2); //right now it give true result because we override equals() method
    System.out.println(result); //true
    //use of hashCode()
    System.out.println(mb1.hashCode()); //1967873639 due to overrides hashcode method
    System.out.println(mb2.hashCode()); //1967873639
    System.out.println(mb1==mb2);
    }
    }
    Note: it is not mandatory to override every member method of object class but it is advice able
    to override toString() and equals() method to compare and print own object.
    Github repo : github.com/navinreddy20/Javac...
    Donation:
    PayPal Id : navinreddy20
    www.telusko.com

Комментарии • 46

  • @nitishkumar-kt1nb
    @nitishkumar-kt1nb 4 месяца назад +12

    🎯 Key Takeaways for quick navigation:
    Every class in Java implicitly extends the Object class.
    The Object class provides methods like equals, hashCode, toString, etc., even if not explicitly defined in a class.
    The toString method returns a string representation of the object, including the class name and hash code.
    The hashCode method generates a unique identifier for objects based on their values.
    Using equals method from the Object class compares objects based on their memory addresses, but custom equals method can compare based on values.
    Implementing custom equals and hashCode methods ensures proper comparison and adherence to Java best practices.
    IDEs can automatically generate equals and hashCode methods based on selected variables, simplifying implementation.
    Understanding and utilizing methods from the Object class such as toString and equals is essential in Java programming.
    Made with HARPA AI

  • @wallshider
    @wallshider 2 месяца назад +2

    Christ almighty.. I've been pulling my hair trying to understand chatgpt to explain to me why I need hashcode in operator == overriding and here you go, explaining everything! Thank you!!

  • @zemariamkiros5133
    @zemariamkiros5133 2 месяца назад +1

    I swear your are the only channel I see that explains everything perfectly.

  • @zakirdeshmukh9916
    @zakirdeshmukh9916 Год назад +4

    very well explained sir and the example of Laptop class is also very good. thanks for providing this for free❤❤

  • @souvikadhikary2429
    @souvikadhikary2429 Год назад +1

    I saw yoour previous video and after seen this video I got more clearity. Thank you Sir

  • @shreyamkundu
    @shreyamkundu 24 дня назад

    Sir your teaching style is too good!! It's very easy to grasp the concepts.

  • @rishabhagarwal3404
    @rishabhagarwal3404 Год назад +2

    Thank you sir. Amazing video as always

  • @jaredwilliams4994
    @jaredwilliams4994 6 месяцев назад

    Greatest Java Tutorial ever!!

  • @mohammadsulthan9379
    @mohammadsulthan9379 Год назад

    Super sir, i am a big fan of your work.

  • @robsoonz7766
    @robsoonz7766 Год назад

    Good video. Thank you for understanding this.

  • @user-kk1ym2go6o
    @user-kk1ym2go6o 2 месяца назад

    Thank you so much!!. Only because of you I am this able to hold a good package!

  • @28santagabo
    @28santagabo Месяц назад

    great explanation sir

  • @kavya4132
    @kavya4132 4 месяца назад

    great explanation. Thank you!

  • @aileenchan3741
    @aileenchan3741 Год назад

    Thank you for that explanation! So easy to follow and understand.

  • @Ryu.86
    @Ryu.86 Месяц назад

    Thank you! I was struggling to do a toString()

  • @milankbudha
    @milankbudha Год назад

    thank u so much....❤❤❤

  • @SamA-nq4cf
    @SamA-nq4cf Месяц назад

    This is old way now we have lombok library it's easyiest way to implement make a video for that.
    Thank you

  • @oshadhaedirisinghe1455
    @oshadhaedirisinghe1455 3 месяца назад

    Thank you

  • @merrylia8316
    @merrylia8316 9 месяцев назад

    what is hashcode for? why do we use the equals method. like why modify it?

  • @pankajubhare1699
    @pankajubhare1699 11 месяцев назад

    You just awesome

  • @Sartaj_Ashraf
    @Sartaj_Ashraf 9 месяцев назад

    In the first == it should return false they are two different objects with two different locations.. So equall methods returns true if the reference are same means they lie on the same location.

  • @ghosts857
    @ghosts857 Год назад

    Hello sir I don't under stand 2 " . " here please explain

  • @sharabugnanesh3098
    @sharabugnanesh3098 Год назад +1

    model model 👌

  • @halimgiwa5359
    @halimgiwa5359 Месяц назад

    In the toString() method, we simply used "model" and "price" but in the equals() method we had to use "this.model" and "this.price," why ?

  • @bhargav7136
    @bhargav7136 Год назад

    Why we use hash code

  • @brandonjablasone7544
    @brandonjablasone7544 5 месяцев назад

    What ide you use

  • @farhodbekxamidov2013
    @farhodbekxamidov2013 7 месяцев назад

    👍

  • @afifkhaja
    @afifkhaja 6 месяцев назад

    Awesome video but you didn't really explain the relationship between hashcode and equals

    • @kelvinirungu550
      @kelvinirungu550 4 месяца назад

      The Object class is the relationship between hashcode and equals because every class in Java implicitly extends the Object class.

  • @koushikjatoth6000
    @koushikjatoth6000 10 месяцев назад

    Can I get tutorial ppt

  • @MrRobo-fi7of
    @MrRobo-fi7of 4 месяца назад

  • @ghosts857
    @ghosts857 Год назад

    this.model. equal () that please explain

    • @hieuthanh2735
      @hieuthanh2735 7 месяцев назад

      "this" means the current object which calls the method

  • @thecrazygamer7334
    @thecrazygamer7334 9 месяцев назад

    chomu padhane ka dhnage nahi hai

  • @SurendraGurjar2014
    @SurendraGurjar2014 Год назад +12

    Way of explaining is not good

  • @user-is8xs7zb7m
    @user-is8xs7zb7m 5 месяцев назад

    OMG! Do you know at least what you said? This is very sad for beginners

  • @harshsinghania6775
    @harshsinghania6775 8 месяцев назад

    I came to learn the generated code... But here you generated and skipped the actual use of each and every line in the code... Disappointed alien..