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 / sakthivel(gceb)(n.p)pollachi

in the above example it displays the output s1 and s4 are
same

Is This Answer Correct ?    1 Yes 7 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What is constructor chaining in java?

589


What is the difference between equals() and == in java?

533


Garbage collection in java?

602


why not override thread to make a runnable? : Java thread

563


What does int [] mean in java?

541






What is a locale?

703


What is jit and its use?

591


Differentiate between a class and an object.

569


What is the size of integer?

592


What is stream api in java8?

542


What is the difference between numeric and integer?

515


What is regex in java?

531


Can we use String with switch case?

675


How many bytes are there?

544


Enlist few advantages of inheritance?

588