public class Test {
public static void main(String[] args) {
Integer i1 = new Integer(7);
Integer i2 = new Integer(7);
if(i1.equals(i2)) System.out.println("Integer, TRUE");
else System.out.println("Integer, FALSE");
String s1 = new String("abc");
String s2 = new String("abc");
if(s1.equals(s2)) System.out.println("String, TRUE");
else System.out.println("String, FALSE");
StringBuffer sb1 = new StringBuffer("abc");
StringBuffer sb2 = new StringBuffer("abc");
if(sb1.equals(sb2)) System.out.println("String Buffer, TRUE");
else System.out.println("String Buffer, FALSE");
}
}
This code prints out:
Integer, TRUE
String, TRUE
String Buffer, FALSE
Anybody have any idea why String Buffer behaves differently?