Это видео недоступно.
Сожалеем об этом.
#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
🎯 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
Thanks buddy ❤
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!!
I swear your are the only channel I see that explains everything perfectly.
very well explained sir and the example of Laptop class is also very good. thanks for providing this for free❤❤
I saw yoour previous video and after seen this video I got more clearity. Thank you Sir
Sir your teaching style is too good!! It's very easy to grasp the concepts.
Thank you sir. Amazing video as always
Greatest Java Tutorial ever!!
Super sir, i am a big fan of your work.
Good video. Thank you for understanding this.
Thank you so much!!. Only because of you I am this able to hold a good package!
great explanation sir
great explanation. Thank you!
Thank you for that explanation! So easy to follow and understand.
Thank you! I was struggling to do a toString()
thank u so much....❤❤❤
This is old way now we have lombok library it's easyiest way to implement make a video for that.
Thank you
Thank you
what is hashcode for? why do we use the equals method. like why modify it?
You just awesome
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.
Hello sir I don't under stand 2 " . " here please explain
model model 👌
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 ?
Why we use hash code
What ide you use
VS code
👍
Awesome video but you didn't really explain the relationship between hashcode and equals
The Object class is the relationship between hashcode and equals because every class in Java implicitly extends the Object class.
Can I get tutorial ppt
❤
this.model. equal () that please explain
"this" means the current object which calls the method
chomu padhane ka dhnage nahi hai
bhai apne channel ki link send krdo tb
Way of explaining is not good
Why
Just this one only
If you want to understand more, you have to watch the previous video @@Psuedobot
Right😢
😂 acha mazaq hai
OMG! Do you know at least what you said? This is very sad for beginners
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..