Files
roma-dxunvrs 4fabe16272 04.09
2026-09-04 22:55:43 +03:00

38 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Обертки: `Integer`, `Long`, `Byte`, `Short`, `Float`, `Double`, `Character`, `Boolean`
Больше памяти и медленнее, но много полезным методов и являются объектами (можно использовать в дженериках)
## Автоупаковка/автораспаковка
```Java
int primitive = 42;
Integer wrapper;
wrapper = primitive; // автоупаковка
// на самом деле так
wrapper = Integer.valueOf(primitive);
primitive = wrapper + 1; // автораспаковка + сложение
// на самом деле так
privmitive = wrapper.intValue() + 1;
```
## Тонкость с кешированием
```Java
Integer int1 = 42;
Integer int2 = 42;
int1==int2; // true
int1 = 452;
int2 = 452;
int1==int2; // false
```
Для интов значения от -128 до 127 - кешируются, поэтому сравнение сработало
Но лучше всегда через `equals()`, так как работаем с объектами
## Иерархия
Все обертки - потомки `Number`
Методы `Number`:
- `intValue()`
- `byteValue()`
- `shortValue()`
- `longValue()`
- `floatValue()`
- `doubleValue()`
Заметка о [[Character]]