Integer a = 1; //Integer.valueOf(1)
Integer b = 1;
System.out.println("a == b: " + (a == b));
Integer c = 188;
Integer d = 188;
System.out.println("c == d: " + (c == d));
Integer e = new Integer(1);
Integer f = new Integer(1);
System.out.println("a == b: " + (e.intValue() == f));
String str1 = "str1";
String str2 = "str2";
String str3 = "str1" + "str2";
String str4 = str1 + "str2";
String str5 = "str1str2";
//(new StringBuilder(String.valueOf(str1))).append(str2).toString();
System.out.println("str5 == str1 + str2 :" + (str5 == str1 + str2));
System.out.println("str5 == str3 :" + (str5 == str3));
System.out.println("str5 == str4 :" + (str5 == str4));
final String str6 = "str1";
final String str7 = "str2";//编译器会优化 str5 = "str1" + "str2"
System.out.println("str5 == str6 + str7 :" + (str5 == (str6 + str7)));