Classi Wrapper

Indice Tutorial

Per ogni tipo primitivo, in java, esiste una classe corrispondente (detta Wrapper), il cui nome può ottenere capitalizzando il nome, tranne nel caso di Integer e Character che oltre alla prima lettera cambiano anche il nome, come mostrato nella tabella seguente:

  • byte —> Byte
  • short —> Short
  • int —> Integer
  • long —> Long
  • float —> Float
  • double —> Double
  • char —> Character
  • boolean —> Boolean

Fondamentalmente, una classe wrapper è come un involucro (wrap) che ha lo scopo di contenere un valore primitivo, trasformandolo in un oggetto (quindi utilizzabile con le Java Collection, che vedremo più avanti, in quanto una collection può contenere solo oggetti e non tipi primitivi) e dotandolo di metodi di utilità.

Esempio:

Integer n =  new Integer (2);

Esempio

		int[] v = new int[5];
		Integer[] v1 = new Integer[5];
		
		Integer t = 34;
		Integer t1 = new Integer(23);
		
		if(v1[0] == null)
			v1[0] = t;

Notare che la riga 3 e 4 sono equivalenti: entrambi dichiarano un integer, uno che vale 23 e l’altro 34.

Inoltre, nell’esempio, si nota anche un’altra utilità dei wrapper: essendo v1 un array di oggetti, posso capire se la locazione zero è stata valorizzata o no, tramite l’uguaglianza con null; nell’array v, essendo di int, non riesco capirlo, perché un intero non valorizzato sarà sempre uguale a zero.

I wrapper possono essere convertiti nel corrisponde tipo primitivo e viceversa.

Esempio

int f = new Integer(2);// da integer a int

		Integer r = 45;// per creare un integer 
		Integer h = new Integer(30);//si possono usare entrambi i modi

		int r1 = h;// da integer a int
		
		Long e = 23l; // da long a Long

Video Lezione Wrapper in Java

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.