Исходный код:
public class TestSB{
public static void main(String args[]){
String s1="Arnold";
StringBuffer sb1=new StringBuffer("Arnold");
StringBuffer sb2=new StringBuffer("Arnold");
System.out.println(sb1==sb2);
System.out.println(sb1.equals(sb2)); //should be true but printing false
System.out.println(sb1.equals(s1)); //should be true but printing false
}
}
Выше приведен исходный код, который я написал, вывод для строки 7 и строки 8 должен быть истинным, но он становится ложным, в чем причина этого?
Выход:
false
false
false
true
? Вы предполагаете, чтоStringBuffer
это то же самое, что иString
? Вы проверили документы дляStringBuffer
, чтобы увидеть, чтоequals
он реализует? И все остальные комментарии: вопросы должны стоять сами по себе, а ссылки на изображения текста хуже только изображений текста: текст поста. - person Dave Newton   schedule 27.06.2019