public class AboutStrings{
public static void main(String args[]){
String s1="hello";
String s2="hel";
String s3="lo";
String s4=s2+s3;
//to know the hash codes of s1,s4.
System.out.println(s1.hashCode());
System.out.println(s4.hashCode());
// these two s1 and s4 are having same hashcodes.
if(s1==s4){
System.out.println("s1 and s4 are same.");
}else
System.out.println("s1 and s4 are not same.");
}
}
Somebody told me that, == operator compares references of
the objects.
In the above example even though s1 and s4 are refering to
same object(having same hash codes),
it is printing s1 and s4 are not same.
Can anybody explain in detail why it is behaving like this?
Thanks in Advance
RavuriVinod
Answer Posted / saket
because it is a string so it didn,t equate the reference .
for string u have to used s1.equals(s4) for correct
answer.........
| Is This Answer Correct ? | 1 Yes | 3 No |
Post New Answer View All Answers
What is a qualifier in a sentence?
What is predicate in java?
What are the difference between composition and inheritance in java?
Can we have multiple public classes in a java source file?
Can you call one constructor from another if a class has multiple constructors?
Why singleton class is used in java?
What is better - 'bit-shift a value' or 'multiply by 2'?
How do you override a private method in java?
What is Mutex (Mutual Exclusion Object) ?
What are different types of constants?
what are Hostile Applets?
Can inner class have constructor?
What is append in java?
What is the difference between post and put?
Why is java multithreaded?