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 Integerna a Stringa použijeme length()metodu Stringtří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());
  }
}