класс для более подробной информации.
в своих заметках следующее, но я не могу понять это:
Классы-обертки примитивного типа реализуют кэширование для ограниченного числа значений.
Это гарантирует, что ограниченное число глубоко равных объектов-оберток также будет мелко равно:o1.equals( o2 )
тогдаo1 == o2
.
Например,new Integer( 0 ) == new Integer( 0 )
.
В общем, это не всегда работает.
Например, новое целое число (666) == новое целое число (666)
не может держать
Причина кеширования в том, что это экономит память.
В общем случае кэширование работает для «малых» примитивных значений.
Я не понимаю, что подразумевается под этим, или в чем разница между глубоким (.equals ()) и поверхностным (==) равными. На практике я знаю, что .equals должны использоваться для объектов и == для интегральных значений, но фактическое обоснование этого намекает на меня.
Я предполагаю по именам, что мелкие, может быть, просто проверяют, что оба значения имеют одинаковый тип и имя, что проверяет, что обе переменные указывают на один и тот же объект? Я не понимаю, как кеширование вступило бы здесь в игру, или почему это было бы полезно.