System.out.println(5 == new Integer(5)) output = true
Integer i31 = 2;
Integer i32 = new Integer(2);
System.out.println(i31 == i32); output = false
It rather seems since we are in function scope. hence different output. Unable to grasp what can be different.