У овом упутству ћемо научити о Јава Типе Цастингу и његовим типовима уз помоћ примера.
Пре него што научите о Јава Типе Цастингу , обавезно сазнајте о Јава Типовима података.
Типе Цастинг
Процес претварања вредност једне врсте података ( int
, float
, double
, итд) на други тип података се назива типецастинг.
У Јави постоји 13 врста претворбе типова. Међутим, у овом упутству ћемо се фокусирати само на главна два типа.
1. Проливање типа ливења
2. Ливање сужавајућег типа
Да бисте сазнали више о другим врстама претворбе типова, посетите Јава претворбу типова (званична Јава документација).
Проливање типа ливења
У Виденинг Типе Цастинг , Јава аутоматски претвара један тип података у други тип података.
Пример: Претварање инт у доубле
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value: " + num); // convert into double type double data = num; System.out.println("The double value: " + data); ) )
Оутпут
Целобројна вредност: 10 Двострука вредност: 10,0
У горњем примеру додељујемо int
променљиву типа нум са double
променљивом типа дата.
Овде Јава прво претвара int
податке о double
типу у тип. А затим га доделите double
променљивој.
У случају ливења типа проширења , нижи тип података (који има мању величину) претвара се у виши тип података (који има већу величину). Стога нема губитка података. Због тога се ова врста конверзије дешава аутоматски.
Напомена : Ово је такође познато као имплицитно ливење типа .
Сување типа ливења
У сужавању лијевања типова, ручно претварамо један тип података у други помоћу заграде.
Пример: Претварање доубле-а у инт
class Main ( public static void main(String() args) ( // create double type variable double num = 10.99; System.out.println("The double value: " + num); // convert into int type int data = (int)num; System.out.println("The integer value: " + data); ) )
Оутпут
Двострука вредност: 10,99 Цела вредност: 10
У горњем примеру додељујемо double
променљиву типа нум са int
променљивом типа која носи име дата.
Обратите пажњу на линију,
int data = (int)num;
Овде int
кључна реч унутар заграде указује на то да се променљива нум претвара у int
тип.
У случају лијевања сужених типова, виши типови података (који имају већу величину) претварају се у ниже типове података (који имају мању величину). Отуда долази до губитка података. Због тога се ова врста конверзије не догађа аутоматски.
Напомена : Ово је такође познато као експлицитно ливење типа .
Погледајмо неке примере конверзија других типова у Јави.
Пример 1: Претворба типа из инт у Стринг
class Main ( public static void main(String() args) ( // create int type variable int num = 10; System.out.println("The integer value is: " + num); // converts int to string type String data = String.valueOf(num); System.out.println("The string value is: " + data); ) )
Оутпут
Вредност целог броја је: 10 Вредност низа је: 10
У горњем програму, забележите ред
String data = String.valueOf(num);
Овде смо користили valueOf()
метод класе Јава Стринг за конверзију променљиве типа инт у низ.
Пример 2: Претворба типа из Стринга у инт
class Main ( public static void main(String() args) ( // create string type variable String data = "10"; System.out.println("The string value is: " + data); // convert string variable to int int num = Integer.parseInt(data); System.out.println("The integer value is: " + num); ) )
Оутпут
Вредност низа је: 10 Целобројна вредност је: 10
У горњем примеру примети ред
int num = Integer.parseInt(data);
Овде смо користили parseInt()
метод Integer
класе Јава за конверзију променљиве типа стринг у int
променљиву.
Напомена : Ако променљива низа не може да се претвори у целобројну променљиву, тада се NumberFormatException
јавља изузетак именован .