Try
sb1.toString().equals(sb2.toString());
because StringBuffer#toString method returns the String value of the data stored inside the buffer:
Returns a string representing the data in this sequence. A new String object is allocated and initialized to contain the character sequence currently represented by this object. This String is then returned. Subsequent changes to this sequence do not affect the contents of the String.