Junior
Ինչ է տիպի փոխարկումը (casting) Java-ում։
sobes.tech AI
Պատասխան AI-ից
Տիպերի փոխարկում (casting) Java-ում նշանակում է արժեքի փոխակերպում մեկ տվյալ տիպից մյուսին:
Տիպերի փոխարկման տեսակները՝
- Անհատական (Explicit Casting): Կատարում է ծրագրավորողը
(տիպ)օպերատորով։ Օգտագործվում էմեծտիպիցփոքրտիպին փոխելու համար (օրինակ՝double-իցint): Կարող է հանգեցնել տվյալների կորուստի։// ինքնաբերական փոխարկում (implicit) int a = 10; double b = a; // int-ից double // անհատական փոխարկում (հստակ) double c = 10.5; int d = (int) c; // double-ից int, d կլինի 10 - Ինքնաբերական (Implicit) փոխարկում (Widening Conversion): Ավտոմատ կատարվում է JVM-ի կողմից, երբ փոխարկում է
փոքրտիպիցմեծտիպ։ Անվտանգ է և չի հանգեցնում տվյալների կորուստի։int x = 10; double y = x; // int ավտոմատ փոխարկվում է double
Տիպերի փոխարկումը կարող է կատարվել հիմնական տիպերի կամ օբյեկտային տիպերի միջև ժառանգության հիերարխիայում։
Օբյեկտային տիպերի փոխարկում՝
- Upcasting: Օբյեկտի ենթակլասից վերակլասին։ Ինքնաբերական և անվտանգ։
class Animal {} class Dog extends Animal {} Animal animal = new Dog(); // Upcasting - Downcasting: Վերակլասից ենթակլաս։ Պահանջում է անհատական փոխարկում և կարող է առաջացնել
ClassCastExceptionժամանակ գործարկման, եթե օբյեկտը իրականում չի հանդիսանում նպատակային ենթակլասի օրինակ։Animal animal = new Dog(); // Upcasting // Downcasting - պահանջում է անհատական փոխարկում և `instanceof` ստուգում if (animal instanceof Dog) { Dog dog = (Dog) animal; // Այժմ կարող է օգտագործել Dog-ի հատուկ մեթոդները }