У мну на 1.6.20 тот же результат. Я так понимаю, тут дело в том, что сравниваются величины не примитивных типов (int), а соотв. ссылочные типы (Integer).

А такое поведение оператора сравнения, видимо, объясняется вот чем. Как мы знаем, в Java == compares references, not values. Для малых чисел (диапазон, возможно, нагуглится) заранее создаются соотв. объекты в единственном экземпляре. И любой новый объект Integer с малым intValue указывает на одно и тоже место. А для больших чисел - просто создаются новые объеты. В Пистоне также по-моему (но сравнение по-другому работает).

## Код:
```
System.out.println(c.intValue()==d.intValue()); // true
```
