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:
- Boolean – boolean
- Character – char
- Integer – int
- Double – double
- Float – float
- Byte – byte
- Short – short
- Long – long
Spis treści
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)
Integer i = Integer.valueOf(1); Double d = Double.valueOf(1);
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()
Integer i = Integer.valueOf(1); int intValue = i.intValue(); Double d = Double.valueOf(1); double doubleValue = d.doubleValue();
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
double parseDouble = Double.parseDouble("1"); int parseInt = Integer.parseInt("1");
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
Double d = Double.valueOf("1"); Integer i = Integer.valueOf("1");
Zamiana typu prostego na String
Do zamiany typów prostych na string przygotowano statyczne metody: toString.
public static String toString(double d)
String doubleString = Double.toString(1.0); String integerString = Integer.toString(1);