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


Please Help Members By Posting Answers For Below Questions

Does set allows null in java?

497


Can a abstract class be defined without any abstract methods?

546


Howto get an object that will perform date & time calculations then format it for output in some different locales with different date style.can ne1 tel me the answer of this question.pls

1435


What is the main method java?

524


How does java enable high performance?

682






Why main method is called first in java?

534


What is the symbol for average?

506


What is the purpose of file class?

538


Why Java is not pure Object Oriented language?

633


What is the exact difference in between Unicast and Multicast object? Where will it be used?

574


Why does java have two ways to create child threads?

461


Is ++ operator thread-safe in java?

620


What is return keyword in java?

554


What is the difference between a static and a non-static inner class in java programming?

515


Can we use different return types for methods when overridden?

548