Possible Duplicate:
Why is == true for some Integer objects?
I have code fragment
Integer i1 = new Integer(a);
Integer i2 = new Integer(b);
if (i1 == i2)
{
// ...
}
When 'a' and 'b' are small numbers (e.g. 0-20) then i1 == i2 return true.
But when 'a' and 'b' are great then i1 == i2 rerun false!
I don't understand, how can it be