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 |