Jak już wspominaliśmy w poprzednich rozdziałach, w Javie oprócz typów prostych są jeszcze tak zwane typy obiektowe.
Typy obiektowe są opakowaniami typów prostych.
Typy obiektowe
Przykładem typów obiektowych są: Byte, Short, Integer, Long, Float, Double, Boolean. Zobaczmy teraz jak wyglądają opisywane przez nas
Typy proste w zestawieniu z ich obiektowymi opakowaniami:
Trochę skomplikowane? Nie ma się co martwić. Na szczęście Java sama potrafi sobie automatycznie poradzić z opakowaniem typów prostych przez obiekty,
przy pomocy tzw.
autoboxingu:
Java umożliwia też wykonanie operacji odwrotnej - tzw.
unboxing:
Przy tym wszystkim trzeba pamiętać, że Java domyślnie każdą liczbę całkowitą napisaną przez programistę traktuje jako
int i jeśli taką liczbę całkowitą
przypisujemy do typu o niższym zakresie, wówczas konwersja do tego typu wykona się automatycznie. Jeśli jednak spróbujemy liczbę całkowitą przypisać do typu
Long,
to taka operacja nie będzie możliwa. IDE zwróci nam błąd kompilacji. W takim przypadku zamiast napisać:
musimy użyć dodatkowego literału (
l albo
L):
Taki problem dotyczy zresztą nie tylko typów obiektowych. Co prawda bez problemu użyjemy
typu prostego bez definiowania dodatkowego literału dla małej liczby, na przykład 7:
ale już wartość 72036854775807 będzie wymagała użycia
literału:
Spowodowane jest to tym, że w Javie domyślnym typem liczbowym jest
int i tak jest traktowana liczba 7.
Liczba 72036854775807 wykracza poza zakres typu
int, więc musimy dookreślić, że chodzi nam o
long.
Autor: Jarek Klimas
Data: 03 stycznia 2024
Labele: Backend, Podstawowy, Java
Czy informacje, które otrzymałeś, były pomocne?
Jeśli tak, zapraszam Cię do podarowania mi kawy.
Masz pytanie dotyczące prezentowanego materiału?
Coś jest dla Ciebie niejasne i Twoje wątpliwości przeszkadzają Ci w pełnym zrozumieniu treści?
Napisz do nas maila, a my chętnie znajdziemy odpowiednie rozwiązanie.
Najciekawsze pytania wraz z odpowiedziami będziemy publikować pod rozdziałem.
Nie czekaj. Naucz się programować jeszcze lepiej.