Klasy opakowujące Java
Klasy opakowujące Java
Klasy opakowujące umożliwiają używanie pierwotnych typów danych ( int
, boolean
itd.) jako obiektów.
Poniższa tabela pokazuje typ podstawowy i równoważną klasę opakowującą:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Czasami musisz użyć klas opakowujących, na przykład podczas pracy z obiektami Collection, takimi jak ArrayList
, gdzie nie można użyć typów pierwotnych (lista może przechowywać tylko obiekty):
Przykład
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
Tworzenie obiektów opakowujących
Aby utworzyć obiekt opakowujący, użyj klasy opakowującej zamiast typu pierwotnego. Aby uzyskać wartość, możesz po prostu wydrukować obiekt:
Przykład
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt);
System.out.println(myDouble);
System.out.println(myChar);
}
}
Ponieważ pracujesz teraz z obiektami, możesz użyć pewnych metod, aby uzyskać informacje o konkretnym obiekcie.
Na przykład do pobrania wartości skojarzonej z odpowiednim obiektem opakowania używane są następujące metody: intValue()
, byteValue()
, shortValue()
, longValue()
,
floatValue()
, doubleValue()
, charValue()
,
booleanValue()
.
Ten przykład wygeneruje ten sam wynik, co w powyższym przykładzie:
Przykład
public class Main {
public static void main(String[] args) {
Integer myInt = 5;
Double myDouble = 5.99;
Character myChar = 'A';
System.out.println(myInt.intValue());
System.out.println(myDouble.doubleValue());
System.out.println(myChar.charValue());
}
}
Inną przydatną metodą jest toString()
metoda, która służy do konwersji owijka sprzeciwia się łańcuchów.
W poniższym przykładzie konwertujemy a Integer
na a String
i używamy length()
metody String
klasy, aby wypisać długość „łańcucha”:
Przykład
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}