V Javi, tipsko ulivanje je metoda ali postopek, ki pretvarja podatkovni tip v drug podatkovni tip na oba načina ročno in samodejno. Samodejno pretvorbo izvede prevajalnik, ročno pretvorbo pa programer. V tem razdelku bomo razpravljali tipsko ulivanje in njegove vrste z ustreznimi primeri.
Tipsko ulivanje
Pretvorba vrednosti iz ene vrste podatkov v drugo vrsto podatkov je znana kot tipsko ulivanje .
Vrste vlivanja tipov
Obstajata dve vrsti vlivanja tipa:
- Razširitev tipa Casting
- Zožitev tipa Casting
Razširitev tipa Casting
Pokliče se pretvorba nižjega podatkovnega tipa v višjega širitev tipsko ulivanje. Znan je tudi kot implicitna pretvorba oz odmetavanje . Izvaja se samodejno. Varno je, ker ni možnosti za izgubo podatkov. Poteka, ko:
zbirka vzmetnih orodij
- Oba tipa podatkov morata biti med seboj združljiva.
- Ciljni tip mora biti večji od izvornega tipa.
byte -> short -> char -> int -> long -> float -> double
Na primer, pretvorba med številskim podatkovnim tipom v char ali Boolean se ne izvede samodejno. Poleg tega tipa podatkov char in Boolean nista združljiva med seboj. Poglejmo primer.
kako ustvariti matriko v Javi
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); } }
Izhod
Before conversion, the value is: 7 After conversion, the long value is: 7 After conversion, the float value is: 7.0
V zgornjem primeru smo vzeli spremenljivko x in jo pretvorili v dolg tip. Po tem se dolgi tip pretvori v plavajoči tip.
Zožitev tipa Casting
Pokliče se pretvorba višjega podatkovnega tipa v nižjega zoženje tipsko ulivanje. Znan je tudi kot eksplicitna pretvorba oz oddaja . To naredi programer ročno. Če ne izvedemo prevajanja, prevajalnik sporoči napako med prevajanjem.
double -> float -> long -> int -> char -> short -> byte
Oglejmo si primer ulivanja zoženega tipa.
V naslednjem primeru smo dvakrat izvedli ulivanje zoženega tipa. Najprej smo pretvorili dvojni tip v dolgi podatkovni tip, potem ko je ta dolgi podatkovni tip pretvorjen v int tip.
NarrowingTypeCastingExample.java
cepitev nizov c++
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); } }
Izhod
Before conversion: 166.66 After conversion into long type: 166 After conversion into int type: 166