where is .equals() method and how is it different from ==
operation <giving some confusing implementation> Is hashing
related to these?
Answer Posted / namita
equals() method is used for comparison. it copares the
content whereas == is used to compare the references.
if the hashcode value is same for two objects equals()
method will return true. but in case of == it is not the
case.
Try following code
String str="Java";
String str1="Ja";
String str2="va";
String str3=str1+str2;
String str4 = new String("Java");
String str5 = str4;
String str6 = new String("Programming");
String str7 = new String(str6);
System.out.println(str3);
System.out.println("str "+str.hashCode());
System.out.println("str3 :- "+str3.hashCode());
System.out.println("str4 :- "+str4.hashCode());
System.out.println("str5 :- "+str5.hashCode());
System.out.println("str6 :- "+str4.hashCode());
System.out.println("str7 :- "+str5.hashCode());
if(str==str3)
System.out.println("str and str3 are equal(==)");
else
System.out.println("str and str3 are not equals
(==)");
if(str.equals(str3))
System.out.println("str and str3 are equals(.equals
())");
else
System.out.println("str and str3 are not equals
(.equals())");
if(str4==str5)
System.out.println("str4 and str5 are equal(==)");
else
System.out.println("str4 and str5 are not equals
(==)");
if(str.equals(str3))
System.out.println("equals");
else
System.out.println("not equals");
if(str6==str7)
System.out.println("str6 and str7 are equal(==)");
else
System.out.println("str6 and str7 are not equals
(==)");
if(str.equals(str3))
System.out.println("equals");
else
System.out.println("not equals");
| Is This Answer Correct ? | 6 Yes | 0 No |
Post New Answer View All Answers
Is string pool garbage collected?
What is the concatenation operator in java?
Why is String immutable?
Explain different ways of creating a thread?
Can you have two constructors in java?
Can you instantiate the math class in Java?
How many wrapper classes are there in java?
What is a class variable?
Are the imports checked for validity at compile time? Will the code containing an import such as java.lang.abcd compile?
How do you identify if jvm is 32-bit or 64-bit from java program?
These static constructors are correct ? class A { statc intA() { } static A(int x,int y) { } static A(int x) { } }
How many types of literals are there in JAVA?
Are generics important java?
What is abstraction in java?
Can an abstract class be a final class?