Найти тему
yagdmitrij

Сравнение чисел типа double

При изучении лямбда-выражений java, в частности ссылок на обобщенные методы, столкнулся с некоторой проблемой. В программе, где создаются массивы типа Integer, String и Double и в которых сравниваются числа с заданным, обнаружил, что с числами типа Double, точнее с объектами типа Double это не работает.

Сравнение Double
Сравнение Double

Могу только предположить, что, когда число 0.1 упаковывается в оболочку типа Double, из-за большой точности после запятой числа получаются разными. Однако, как тогда объяснить строку 12 программы, где сравниваются примитивный тип и оболочка? Понятно, что вначале происходит распаковка, а затем числа сравниваются. Но почему в этой строчке кода – true?