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

What is the formula to calculate percentage?

538


Why are arrays useful in java?

544


State the merge-sort principle and its time complexity.

574


What is variable argument in java?

561


What is java literals?

581






How do you create immutable object in java?

539


Which is faster string or stringbuilder?

521


What is api in java?

542


What is static and final keyword in java?

577


List some features of the abstract class.

593


What is difference between next () and nextline () in java?

541


Does printwriter create a file?

543


Can each java object keep track of all the threads that want to exclusively access it?

540


Which number is denoted by leading zero in java?

814


What is a lambda expression ? What's its use ?

565