Java, tipo liejimas yra metodas arba procesas, kuris rankiniu būdu ir automatiškai konvertuoja duomenų tipą į kitą duomenų tipą. Automatinį konvertavimą atlieka kompiliatorius, o rankinį konvertavimą atlieka programuotojas. Šiame skyriuje aptarsime tipo liejimas ir jo rūšys su tinkamais pavyzdžiais.
Tipo liejimas
Vertės konvertavimas iš vieno duomenų tipo į kitą duomenų tipą vadinamas tipo liejimas .
Tipo liejimo tipai
Yra dviejų tipų liejimo tipai:
- Išplėtimo tipo liejimas
- Siaurėjimo tipas Liejimas
Išplėtimo tipo liejimas
Vadinamas žemesnio tipo duomenų konvertavimas į aukštesnį plečiantis tipo liejimas. Jis taip pat žinomas kaip numanomas konvertavimas arba numetimas žemyn . Tai daroma automatiškai. Tai saugu, nes nėra galimybės prarasti duomenų. Tai vyksta, kai:
- Abu duomenų tipai turi būti suderinami vienas su kitu.
- Tikslo tipas turi būti didesnis nei šaltinio tipas.
byte -> short -> char -> int -> long -> float -> double
Pavyzdžiui, skaitmeninių duomenų tipo konvertavimas į char arba Boolean nėra atliekamas automatiškai. Be to, char ir Boolean duomenų tipai nesuderinami vienas su kitu. Pažiūrėkime pavyzdį.
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); } }
Išvestis
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
Aukščiau pateiktame pavyzdyje mes paėmėme kintamąjį x ir pavertėme jį ilguoju tipu. Po to ilgasis tipas paverčiamas plūdine.
Siaurėjimo tipas Liejimas
Vadinamas aukštesnio tipo duomenų konvertavimas į žemesnį susiaurėjimas tipo liejimas. Jis taip pat žinomas kaip aiškus konvertavimas arba užmetimas . Programuotojas tai atlieka rankiniu būdu. Jei neatliekame liejimo, kompiliatorius praneša apie kompiliavimo laiko klaidą.
double -> float -> long -> int -> char -> short -> byte
Pažiūrėkime siaurėjančio tipo liejimo pavyzdį.
kas yra eksportas Linux sistemoje
Toliau pateiktame pavyzdyje susiaurėjimo tipo liejimą atlikome du kartus. Pirma, mes konvertavome dvigubą tipą į ilgą duomenų tipą, kai šis ilgas duomenų tipas buvo konvertuotas į int tipą.
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); } }
Išvestis
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166