Quando usamos equals() em um String:
String s1=new String(“teste”);
String s2=new String(“teste”);
System.out.println(s1.equals(s2));
saída: true
isso porque a classe String subscreve o método equals() da classe Object, certo?
E quando usamos as classes StringBuffer e StringBuilder:
StringBuffer s1=new StringBuffer(“teste”);
StringBuffer s2=new StringBuffer(“teste”);
System.out.println(s1.equals(s2));
saída: false
É porque a classe StringBuffer e Builder usam o método equals() de Object e não subscrevem o mesmo?