Sobes.tech
Junior

Kuidas teha viidetüüpide teisendamist primitiivseteks ja vastupidi?

sobes.tech AI

Vastus AI-lt

Java automaatselt teostab viidetüüpide (sildid) teisendamist primitiivsete (unboxing) ja vastupidi (autoboxing) vahel, kuid seda saab teha ka selgelt.

Autoboksimine: Automaatne primitiivse tüübi teisendamine vastavasse viidetüüpi.

int primitiveInt = 10;
// Automaatselt teisendatakse Integer-iks
Integer wrapperInt = primitiveInt; 

Unboxing: Automaatne viidetüübi teisendamine vastavasse primitiivse tüüpi.

Integer wrapperInteger = 20;
// Automaatselt teisendatakse int-iks
int primitiveInteger = wrapperInteger;

Selge teisendus:

Viidetüübi teisendus primitiivseks: kasutage intValue(), doubleValue() ja teisi meetodeid.

Integer wrapperInt = 30;
int primitiveInt = wrapperInt.intValue(); // selge teisendus

Double wrapperDouble = 40.5;
double primitiveDouble = wrapperDouble.doubleValue(); // selge teisendus

Primitiivse tüübi teisendus viidetüübiks: kasutage klasside konstruktorid või staatilisi meetodeid valueOf(). Statistiline meetod valueOf() on eelistatud, kuna see võib vahemälu kasutada.

int primitiveInt = 50;
Integer wrapperInt = new Integer(primitiveInt); // kasutades konstruktorit (vananenud)

double primitiveDouble = 60.7;
Double wrapperDouble = Double.valueOf(primitiveDouble); // kasutades `valueOf()`

Tabel teisendustest:

Primitiivne tüüp Viidetüüp
boolean Boolean
byte Byte
short Short
char Character
int Integer
long Long
float Float
double Double