Klasy osłonowe / opakowujące | Kurs Java

Klasy oslonowe

Klasy osłonowe (opakowujące) są swego rodzaju pomostem pomiędzy typami prostymi a obiektowymi. Ponieważ na typach prostych nie można wywoływać żadnych metod, jak robimy to na obiektach, wprowadzono klasy opakowujące, rozszerzające ich standardowe możliwości. Przykładowo obiekt typu Double reprezentujący liczby zmiennoprzecinkowe, można łatwo przekonwertować do typu long lub zamienić na string.

Klasy osłonowe powstały dla wszystkich typów prostych:

  • Booleanboolean
  • Characterchar
  • Integerint
  • Doubledouble
  • Floatfloat
  • Bytebyte
  • Shortshort
  • Longlong

Zamiana typy prostego na obiekt

Wszystkie typy osłonowe mają statyczną metodę: valueOf przyjmującą jako argument dany typ prosty i zwracającą na jego podstawie obiekt klasy osłonowej.

public static Integer valueOf(int i)

Zamiana klasy osłonowej na typ prosty

Przekonwertowanie obiektów osłonowych do typów prostych możliwe jest przy pomocy metod w formacie:
[nazwa typu]Value() dostępnych dla wszystkich klas osłonowych, np.

public int intValue()

Parsowanie Stringa na typ prosty

Do zamiany stringów na typy proste przygotowano metody w formacie:
parse[nazwa typu](). W ich przypadku należy jednak uważać na możliwość pojawienia się wyjątku NumberFormatException, jeżeli podanego ciągu znaków nie da się zamienić na wybrany typ.

public static int parseInt(String s) throws NumberFormatException

Parsowanie Stringa na typ obiektowy

Do zamiany stringów bezpośrednio na typ obiektowy można wykorzystać statyczne metody: valueOf na danym typie. Tu również należy uważać na wyjątek: NumberFormatException.

public static Double valueOf(String s) throws NumberFormatException

Zamiana typu prostego na String

Do zamiany typów prostych na string przygotowano statyczne metody: toString.

public static String toString(double d)

 

Programista – Pytania rekrutacyjne

Lista pytań rekrutacyjnych, które pozwolą przygotować Ci się na rozmowę kwalifikacyjną.

No comments
Share:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *