Junior
Java-da tip çevirmə (casting) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Java-da tip çevirmə (casting) bir məlumat növünün dəyərinin başqa bir məlumat növünə çevrilməsidir.
Tip çevirmə növləri:
- Aydın (Explicit Casting): Proqramçı
(tip)operatorundan istifadə etməklə həyata keçirir. "Böyük" tiplərdən "kiçik" tiplərə çevirmə üçün istifadə olunur (məsələn,double-dənint-ə). Bu, məlumat itkisinə səbəb ola bilər.// avtomatik çevirmə (gizli) int a = 10; double b = a; // int-dən double-ə // aydın çevirmə (bəyannamə) double c = 10.5; int d = (int) c; // double-dən int-ə, d 10 olacaq - İmplicit (Aydın olmayan) Çevirmə (Widening Conversion): JVM tərəfindən avtomatik olaraq həyata keçirilir, "kiçik" tirdən "böyük" tərəyə çevirmə zamanı (məsələn,
int-dəndouble-ə). Bu, təhlükəsizdir və məlumat itkisinə səbəb olmur.int x = 10; double y = x; // int avtomatik olaraq double-ə çevrilir
Tip çevirmə, primitiv tiplər və ya obyekt tipləri arasında və irs hierarhiyasında baş verə bilər.
Obyekt tipləri arasında çevirmə:
- Upcasting: Alt sinfi onun supersinfinə çevirmək. Bu, implicit və təhlükəsizdir.
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Supersinfi onun alt sinfinə çevirmək. Aydın çevirmə tələb edir və
ClassCastException-a səbəb ola bilər, əgər obyekt faktiki olaraq hədəf alt sinfinin nümunəsi deyilsə.Animal animal = new Dog(); // Upcasting // Downcasting - aydın çevirmə və instanceof yoxlaması ilə if (animal instanceof Dog) { Dog dog = (Dog) animal; // İndi Dog-ə xas metodlardan istifadə edə bilərik }