Třídy Java Wrapper
Třídy Java Wrapper
Třídy Wrapper poskytují způsob, jak používat primitivní datové typy ( int
, boolean
, atd..) jako objekty.
Níže uvedená tabulka ukazuje primitivní typ a ekvivalentní třídu obalu:
Primitive Data Type | Wrapper Class |
---|---|
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
boolean | Boolean |
char | Character |
Někdy musíte použít obalové třídy, například při práci s objekty Collection, jako je ArrayList
, kde nelze použít primitivní typy (seznam může ukládat pouze objekty):
Příklad
ArrayList<int> myNumbers = new ArrayList<int>(); // Invalid
ArrayList<Integer> myNumbers = new ArrayList<Integer>(); // Valid
Vytváření objektů Wrapper
Chcete-li vytvořit objekt wrapper, použijte namísto primitivního typu třídu wrapper. Chcete-li získat hodnotu, stačí vytisknout objekt:
Příklad
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);
}
}
Protože nyní pracujete s objekty, můžete použít určité metody k získání informací o konkrétním objektu.
Například k získání hodnoty spojené s odpovídajícím objektem wrapper se používají následující metody: intValue()
, byteValue()
, shortValue()
, longValue()
,
floatValue()
, doubleValue()
, charValue()
,
booleanValue()
.
Tento příklad poskytne stejný výsledek jako výše uvedený příklad:
Příklad
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());
}
}
Další užitečnou metodou je toString()
metoda, která se používá k převodu obalových objektů na řetězce.
V následujícím příkladu převedeme an Integer
na a String
a použijeme length()
metodu String
třídy k výstupu délky „řetězce“:
Příklad
public class Main {
public static void main(String[] args) {
Integer myInt = 100;
String myString = myInt.toString();
System.out.println(myString.length());
}
}