Наверняка многие java программисты сходу могут ответить на вопрос «какой будет результат ?»
Integer a = 100;
Integer b = 100;
Integer c = 300;
Integer d = 300;
System.out.println(a == b);
System.out.println(c == d);
Тем более, что многие книги, как то Java Puzzlers, упоминают об этом.