String a="ABC";
String a2="ABC";
//--------------------------------------
String b=new String("ABC");
String b2=new String("ABC");
//-----------------------------------------
int c=5;
int c2=5;
//-------------------------------------
int d=new Integer(5);
int d2=new Integer(5);
//----------------------------------------
a and a2 is pointer,memory same, b and b2 is object not same memory, a!=b, and b!=b2, why? c=d and d=d2, new String is object and new Integer not object ?