Klasy opakowujące a null
W przeciwieństwie do typów prymitywnych, zmienna klasy opakowującej może być niezainicjalizowana i mieć wartość null. Niezainicjalizowana zmienna prymitywna automatycznie przyjmuje swoją wartość domyślną (w przypadku int jest to 0). Ponieważ klasy opakowujące mogą przechowywać wartość null, możemy sprawdzić, czy zmienna została ustawiona, zanim jej użyjemy – czego nie da się zrobić z typami prymitywnymi. W tym ćwiczeniu zobaczysz różnicę między niezainicjalizowanymi typami prymitywnymi a obiektami klas opakowujących.
To ćwiczenie jest częścią kursu
Typy danych i wyjątki w Javie
Instrukcje do ćwiczenia
- Zadeklaruj zmienną typu
into nazwiex, ale nie przypisuj jej wartości. - Zadeklaruj zmienną typu
Integero nazwiey, ale nie przypisuj jej wartości. - Wyświetl wartość
x, mimo że jej nie zainicjalizowałeś. - Sprawdź, czy
yma wartośćnull.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
public class NullWithWrappers {
// Declare a primitive integer called x
static ____ ____;
// Declare a wrapper Integer called y
static ____ ____;
public static void main(String[] args) {
// Display x value
System.out.____(____);
System.out.println(y);
// Check if y has been initialized and is null
if (____ ____ ____) {
System.out.println("y is not initialized so take corrective steps here");
}
}
}