ZZZ (Duplicate) - What is the output of the following, StringBuffer sb1 = new StringBuffer("Debopam"); StringBuffer sb2= new StringBuffer("Debopam "); String ss1 = " Debopam "; System.out.println(sb1==sb2); System.out.println(sb1.equals(sb2)); System.out.println(sb1.equals(ss1)); System.out.println("Poddar".substring(3));
-
false false false dar
-
false true false Poddar
-
Compiler Error
-
true true FALSE dar
A
Correct answer
Explanation
The code tests reference and value equality. sb1 == sb2 is false (different objects). StringBuffer doesn't override equals(), so sb1.equals(sb2) is false (uses Object.equals()). sb1.equals(ss1) is false (StringBuffer vs String - different types). 'Poddar'.substring(3) returns 'dar' (0-indexed, starts from 'd'). Output: false false false dar