Forums Register Login

String and StringBuffer

+Pie Number of slices to send: Send
For the following code:
public class abc
{
public static void main(String args[])
{
StringBuffer sb1 = new StringBuffer("Amit");
StringBuffer sb2 = new StringBuffer("Amit");
String ss1 = "Amit";
System.out.println(sb1==sb2);
System.out.println(sb1.equals(sb2));
System.out.println(sb1.equals(ss1));
}
}

The answer is false false false and I verified it. Why is it not true true and false? Please explain...

Thanks and Regards
Vineet
+Pie Number of slices to send: Send
For your answer program should be like that:

public class abc
{
public static void main(String args[])
{
StringBuffer sb1 = new StringBuffer("Amit");
StringBuffer sb2 = new StringBuffer("Amit");
String ss1 = "Amit";
System.out.println(sb1.toString().equals(sb2.toString()));
System.out.println(sb1.toString().equals(sb2.toString()));
System.out.println(sb1.equals(ss1));
}
}
+Pie Number of slices to send: Send
Vineet,
This is a follow-up from Mahesh's message
System.out.println(sb1==sb2) : false because sb1 and sb2 reference to 2 different objects.
System.out.println(sb1.equals(sb2)): false
System.out.println(sb1.equals(ss1)): false
The 2 lines above are false because StringBuffer doesn't override the equals() methods inherited from the Object class. Calling equals() will only check if they reference the same object or not.
+Pie Number of slices to send: Send
I am completely agree with Mahesh and son le. Because using
'==' this operator, we cann't compare two different objects.
In every time it would be two values of the same object.
Here sb1 and sb2 are different objects. So when you will
compare two objects definitely you have to convert your
Objects into Strings using 'toString()' method. Here Mahesh
did it.
Thanks,
Sayeed
Enjoy the full beauty of the english language. Embedded in this tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 1267 times.
Similar Threads
string buffer
string(buffer) comparision...
String Q
String Buffer
String buffer
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 03:37:18.