На Java, лиття типу це метод або процес, який перетворює тип даних в інший тип даних обома способами вручну та автоматично. Автоматичне перетворення виконується компілятором, а перетворення вручну виконується програмістом. У цьому розділі ми обговоримо лиття типу і його види з відповідними прикладами.
Лиття типу
Перетворення значення з одного типу даних в інший тип даних називається лиття типу .
Типи приведення типу
Існує два типи приведення типу:
- Лиття типу розширення
- Лиття типу звуження
Лиття типу розширення
Перетворення нижчого типу даних у вищий називається розширення лиття типу. Він також відомий як неявне перетворення або відкидаючи . Це робиться автоматично. Це безпечно, оскільки немає шансів втратити дані. Це відбувається, коли:
stdin в c
- Обидва типи даних повинні бути сумісні один з одним.
- Цільовий тип має бути більшим за вихідний.
byte -> short -> char -> int -> long -> float -> double
Наприклад, перетворення числового типу даних на char або Boolean не виконується автоматично. Крім того, типи даних char і Boolean несумісні один з одним. Давайте розглянемо приклад.
WideningTypeCastingExample.java
public class WideningTypeCastingExample { public static void main(String[] args) { int x = 7; //automatically converts the integer type into long type long y = x; //automatically converts the long type into float type float z = y; System.out.println('Before conversion, int value '+x); System.out.println('After conversion, long value '+y); System.out.println('After conversion, float value '+z); } }
Вихід
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
У наведеному вище прикладі ми взяли змінну x і перетворили її на довгий тип. Після цього тип long перетворюється на тип float.
Лиття типу звуження
Перетворення вищого типу даних у нижчий називається звуження лиття типу. Він також відомий як явне перетворення або відливати вгору . Це робиться програмістом вручну. Якщо ми не виконуємо приведення, компілятор повідомляє про помилку під час компіляції.
double -> float -> long -> int -> char -> short -> byte
Розглянемо приклад приведення типу звуження.
У наступному прикладі ми двічі виконали приведення типу звуження. По-перше, ми перетворили тип double на тип даних long після того, як цей тип даних long буде перетворено на тип int.
як викликати метод у java
NarrowingTypeCastingExample.java
public class NarrowingTypeCastingExample { public static void main(String args[]) { double d = 166.66; //converting double data type into long data type long l = (long)d; //converting long data type into int data type int i = (int)l; System.out.println('Before conversion: '+d); //fractional part lost System.out.println('After conversion into long type: '+l); //fractional part lost System.out.println('After conversion into int type: '+i); } }
Вихід
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166