Wrapper-Klassen

Datentypen und Exceptions in Java

Jim White

Java Developer

Java: 8 Primitives

Die 8 Java-Primitiven sind die grundlegenden Datentypen, aus denen alle Daten bestehen.

Datentypen und Exceptions in Java

Wrapper-Klassen

  • Jeder Primitive hat eine entsprechende Wrapper-Klasse
primitive Wrapper-Klasse
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

Wrapper-Klassen lassen Primitive wie Objekte behandeln. Wrapper-Klassen sind Unterklassen von Object.

Datentypen und Exceptions in Java

Primitives verpacken

  • Instanzen einer Wrapper-Klasse halten genau einen Primitiven
    • Beispiel: Integer hält einen int-Wert

Wrapper-Objekte enthalten einen primitiven Wert

Datentypen und Exceptions in Java

Wrapper-Details

  • Wrapper-Klassen haben zusätzliche Felder und Methoden
    • Felder (z. B. Maximalwert) zum Typ
    • Methoden für die Arbeit mit dem eingepackten Primitiven
  • Wrapper-Klassen sind in der Basissprache
    • Nutze sie ohne import (mehr zu Imports später)
Datentypen und Exceptions in Java

Wrapper-Objekte erstellen

  • Weise einen Primitiven einer Variablen des Wrapper-Typs zu
    • Syntax: Wrapper-type variable = primitive-value;
Integer age = 12;
Double cost = 150250.55;
Float interest = 5.5f;
Character grade = 'A';
Boolean isActive = true;
  • Wrapper-Objekte können auch keinen Wert haben (null)
Integer age = null;
Datentypen und Exceptions in Java

Wrapper-Objekte verwenden

Integer age = 12;
  • Gib sie aus
    System.out.println(age);    // Zeigt 12 an
    
  • Hole ihren primitiven Wert
    int x = age.intValue();     // x wird 12 zugewiesen
    
  • Führe weitere Operationen darauf aus
    double z = age.doubleValue();  // z ist 12.0
    String y = age.toString();  // y wird "12" zugewiesen
    Integer teenAge = 16;
    int smaller = age.compareTo(teenAge);  // smaller ist -1, da 12 < 16
    
Datentypen und Exceptions in Java

Statische Wrapper-Methoden

  • Wrapper-Klassen bieten statische Methoden
  • Zum Ausführen von Operationen auf den zugehörigen Primitiven
    int x = Integer.sum(8,12);  // x ist 20
    int y = Integer.remainderUnsigned(102, 10);  // y ist 2
    
  • Zum Konvertieren zwischen String und Primitiv
    int z = Integer.parseInt("123");   // z ist 123;
    boolean ans = Boolean.parseBoolean("false");  // ans ist false
    
1 See https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html for more on the Integer wrapper
Datentypen und Exceptions in Java

Statische Wrapper-Felder

Beispiele für statische Felder in Wrapper-Klassen

System.out.println(Integer.MAX_VALUE); // Maximaler int-Wert
System.out.println(Integer.MIN_VALUE); // Minimaler int-Wert
2147483647
-2147483648
System.out.println(Boolean.TRUE); // Entspricht dem primitiven Wert true
System.out.println(Boolean.FALSE); // Entspricht dem primitiven Wert false
true
false
Datentypen und Exceptions in Java

Statische Wrapper-Felder

Beispiele für statische Felder in Wrapper-Klassen

System.out.println(Character.SPACE_SEPARATOR);  // Unicode für normales Leerzeichen wie ' '
System.out.println(Character.LINE_SEPARATOR); // Unicode für Zeilenumbruch wie '\n'
12
13
Datentypen und Exceptions in Java

Nützliche Wrapper-Methoden

Wrapper-Methode Gibt zurück
Boolean.logicalAnd(boolean a, boolean b) boolean
Boolean.logicalOr(boolean a, boolean b) boolean
Boolean.parseBoolean(String s) boolean
Character.getNumericValue(char ch) Unicode-Int-Wert des Zeichens
Character.isDigit(char ch) boolean
Character.isLowerCase(char ch) boolean
Character.isWhitespace(char ch) boolean
Double.parseDouble(String s) double
Double.longValue() den Double-Wert, abgerundet, als Long
Datentypen und Exceptions in Java

Warum Wrapper?

  • Primitive haben keine Methoden (nur Operatoren)
    • Wrapper-Klassen bringen nützliche Methoden mit
      int score = Integer.parseInt("8");
      
  • Wrapper erlauben, Primitive als Objekte zu nutzen; z. B. in einer Collection
    • Du lernst Collections in Kapitel 2 kennen.
Datentypen und Exceptions in Java

Wrapper können null sein

  • Wrapper erlauben, Instanz- oder statische Variablen dieses Typs auf null zu setzen
    • Primitive Instanz- oder statische Variablen haben einen Standardwert, wenn sie nicht initialisiert sind
int herAge; // age ist standardmäßig 0
Integer hisAge = null;
if (hisAge != null) {
  // etwas tun, wenn hisAge nicht gesetzt ist
}
Datentypen und Exceptions in Java

Lass uns üben!

Datentypen und Exceptions in Java

Preparing Video For Download...