• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

StringBuffer

 
Anonymous
Ranch Hand
Posts: 18944
  • 0
  • 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
  • 0
  • 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
  • 0
  • 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
  • 0
  • 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
  • 0
  • 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
 
It is sorta covered in the JavaRanch Style Guide.
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic