Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

StringBuffer

 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi
What is the result of the following code:
StringBuffer sb1="ab";
StringBuffer sb2=new StringBuffer("ab");
1.sb1==sb2
2.sb1.equals(sb2)
I think both are false.If I am wrong please correct me.Thanks
 
Marcela Blei
Ranch Hand
Posts: 477
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I think that both are false too.
1) == returns true if both are initialize with literals and both are identical literal strings.
2) The equals method isn�t implemented in StringBuffer

[This message has been edited by Marcela Blei (edited July 21, 2000).]
 
Anonymous
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Are you sure about StringBuffer sb1="ab";
I guess it will not compile. The error will be incompatible type case.
Yes StringBuffer did not override the equals() method and so it will not compare the contents. It will behave just like ==.
Hope it helps!
 
Praveen Zala
Ranch Hand
Posts: 118
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
Yes StringBuffer sb = "ab" is wrong and shud be
StringBuffer sb = new StringBuffer("ab");
Is this the only method of initializing StringBuffer ?
Praveen Zala
 
Ajith Kallambella
Sheriff
Posts: 5782
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Praveen,
You an also create an empty StringBuffer using the StringBuffer() or StringBuffer( length ) constructors and use various flavours of append() methods to initialize it.
ie., StringBuffer s = new StringBuffer("Hello") is same as

StringBuffer s = new StringBuffer() ;
s.append("Hello");
Ajith
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic