Clase wrapper

Tipuri de date și excepții în Java

Jim White

Java Developer

Cele 8 primitive Java

Cele 8 primitive Java sunt tipurile de date de bază din care este construit orice tip de date.

Tipuri de date și excepții în Java

Clase wrapper

  • Fiecare tip primitiv are o clasă wrapper echivalentă
Primitiv Clasă wrapper
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character

Clasele wrapper permit tratarea primitivelor ca obiecte. Clasele wrapper sunt subclase ale clasei Object.

Tipuri de date și excepții în Java

Învelirea primitivelor

  • Instanțele unei clase wrapper conțin un singur primitiv
    • Exemplu: Integer conține un singur primitiv de tip int

Obiectele wrapper conțin un primitiv ca valoare

Tipuri de date și excepții în Java

Detalii despre clase wrapper

  • Clasele wrapper au câmpuri și metode suplimentare
    • Câmpuri (precum valoarea maximă) despre tip
    • Metode pentru lucrul cu tipul primitiv învelit
  • Clasele wrapper fac parte din limbajul de bază
    • Se utilizează fără import (mai multe despre importuri ulterior)
Tipuri de date și excepții în Java

Crearea obiectelor wrapper

  • Atribuiți un primitiv unei variabile de tip wrapper
    • Sintaxă: Wrapper-type variable = primitive-value;
Integer age = 12;
Double cost = 150250.55;
Float interest = 5.5f;
Character grade = 'A';
Boolean isActive = true;
  • Obiectele wrapper pot avea și valoarea null
Integer age = null;
Tipuri de date și excepții în Java

Utilizarea obiectelor wrapper

Integer age = 12;
  • Afișați-le
    System.out.println(age);    // Displays 12
    
  • Obțineți valoarea primitivă
    int x = age.intValue();     // x is assigned 12
    
  • Efectuați alte operații
    double z = age.doubleValue();  //z is 12.0
    String y = age.toString();  // y is assigned "12"
    Integer teenAge = 16;
    int smaller = age.compareTo(teenAge);  // smaller is -1 since 12 < 16
    
Tipuri de date și excepții în Java

Metode statice ale claselor wrapper

  • Clasele wrapper includ metode statice
  • Utilizate pentru operații pe primitivele asociate
    int x = Integer.sum(8,12);  // x is 20
    int y = Integer.remainderUnsigned(102, 10);  // y is 2
    
  • Utilizate pentru conversii între String și primitiv
    int z = Integer.parseInt("123");   // z is 123;
    boolean ans = Boolean.parseBoolean("false");  // ans is false
    
1 Consultați https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html pentru mai multe despre wrapper-ul Integer
Tipuri de date și excepții în Java

Câmpuri statice ale claselor wrapper

Exemple de câmpuri statice ale claselor wrapper

System.out.println(Integer.MAX_VALUE); // Maximum value an int can have
System.out.println(Integer.MIN_VALUE); // Minimum value an int can have
2147483647
-2147483648
System.out.println(Boolean.TRUE); // Corresponding to the primitive value of true
System.out.println(Boolean.FALSE); // Corresponding to the primitive value of false
true
false
Tipuri de date și excepții în Java

Câmpuri statice ale claselor wrapper

Exemple de câmpuri statice ale claselor wrapper

System.out.println(Character.SPACE_SEPARATOR);  // Unicode for the regular space like ' '
System.out.println(Character.LINE_SEPARATOR); // Unicode for line return like '\n'
12
13
Tipuri de date și excepții în Java

Metode wrapper utile

Metodă wrapper Returnează
Boolean.logicalAnd(boolean a, boolean b) boolean
Boolean.logicalOr(boolean a, boolean b) boolean
Boolean.parseBoolean(String s) boolean
Character.getNumericValue(char ch) Valoarea Unicode int a caracterului
Character.isDigit(char ch) boolean
Character.isLowerCase(char ch) boolean
Character.isWhitespace(char ch) boolean
Double.parseDouble(String s) double
Double.longValue() Valoarea Double, rotunjită în jos, ca Long
Tipuri de date și excepții în Java

De ce wrapper-e?

  • Primitivele nu au metode (doar operatori)
    • Clasele wrapper oferă metode utile
      int score = Integer.parseInt("8");
      
  • Wrapper-ele permit folosirea primitivelor ca obiecte; de exemplu, în colecții
    • Aflați mai multe despre colecții în Capitolul 2.
Tipuri de date și excepții în Java

Wrapper-ele pot fi null

  • Wrapper-ele permit variabilelor de instanță sau statice să fie null
    • Variabilele primitive de instanță sau statice au o valoare implicită dacă nu sunt inițializate
int herAge; // age is 0 by default
Integer hisAge = null;
if (hisAge != null) {
  // do something when hisAge is not set
}
Tipuri de date și excepții în Java

Să exersăm!

Tipuri de date și excepții în Java

Preparing Video For Download...