32 lines
1.9 KiB
Markdown
32 lines
1.9 KiB
Markdown
|
---
|
||
|
aliases:
|
||
|
tags:
|
||
|
- maturity/🌱
|
||
|
date: 2024-11-01
|
||
|
---
|
||
|
Сужающие преобразования (narrowing conversions) позволяют в Java преобразовывать значение более широкого типа к более узкому типу, но такие преобразования **не выполняются автоматически** и требуют явного приведения. Сужающие преобразования могут привести к **потере данных** или **потере точности** и требуют внимания при их использовании.
|
||
|
|
||
|
```
|
||
|
double → float → long → int → short → byte
|
||
|
↓
|
||
|
char
|
||
|
```
|
||
|
|
||
|
- Преобразование int в short может привести к потере данных, если значение int выходит за пределы диапазона short (-32768, 32767).
|
||
|
- Преобразование double в float может привести к потере точности, так как float имеет меньше значащих разрядов, чем double.
|
||
|
- Преобразование float или double в int, short, byte приводит к усечению десятичной части, что также может вызвать потерю точности.
|
||
|
|
||
|
***
|
||
|
## Мета информация
|
||
|
**Область**:: [[../../meta/zero/00 Java разработка|00 Java разработка]]
|
||
|
**Родитель**::
|
||
|
**Источник**::
|
||
|
**Создана**:: [[2024-11-01]]
|
||
|
**Автор**::
|
||
|
### Дополнительные материалы
|
||
|
- [[Расширяющее преобразование в Java|Расширяющее преобразование в Java]]
|
||
|
|
||
|
### Дочерние заметки
|
||
|
<!-- QueryToSerialize: LIST FROM [[]] WHERE contains(Родитель, this.file.link) or contains(parents, this.file.link) -->
|
||
|
|