Java: la classe Number e String

      Nessun commento su Java: la classe Number e String

java-logo

Numbers

In questa lezione discuteremo la classe Number appartenente al package java.lang.

Quando si lavora con i numeri il più delle volte si utilizzano i tipi primitivi come ad esempio:

int i=500;

float a=3.50;

Tuttavia può capitare di dover utilizzare gli oggetti al posto dei tipi primitivi, fortunatamente la piattaforma Java fornisce classi weapper per ciascun dei tipi di dati primitivi. Spesso, l’operazione di wrapping è fatto dal compilatore, se si utilizza un tipo primitivo quando è previsto un oggetto il compilatore riferisce il tipo primitivo alla sua classe wrapper. Allo stesso modo, se si utilizza un oggetto number quando si dovrebbe utilizzare un tipo primitivo il compilatore riferisce l’oggetto per voi.Queste azioni vengono definite boxing e unboxing.

Esempio:

Integer x,y;

x=12;

y=15;

System.out.println(x+y);

 

Quando a x e y vengono assegnati valori interi,il compilatore esegue il boxing poiché x e y sono oggetti Integers. Nell’istruzione print xe y subiscono l’unboxing in modo da poter essere sommati come Integers.Tutte le classi weapper numeriche sono sottoclassi della classe astratta Number

Schermata 2014-01-03 alle 18.37.14

Le ragioni per cui utilizzare un oggetto Number piuttosto che un tipo primitivo sono varie tra cui:

1)Come argomento di un metodo che si aspetta un oggetto

2)Per utilizzare costanti definite dalla classe, come ad esempio MIN_VALUE e MAX_VALUE

3)Per utilizzare i metodi della classe per convertire i valori da e verso altri tipi primitivi.

Ogni classe Number contiene dei metodi che sono utili per la conversione dei numeri a stringhe e viceversa.

Nella tabella seguente sono elencati alcuni metodi della classe Integer

Schermata 2014-01-03 alle 18.42.49

String

Le stringhe sono ampiamente utilizzate nel linguaggio Java, esse rappresentano una sequenza di caratteri. In java le stringhe sono oggetti rappresentati dalla classe String.

String stringa=“mia stringa”;

In questo caso “mia stringa “ è una stringa letterale, cioè una serie di caratteri.

Come con qualsiasi altro tipo di oggetto,è possibile creare oggetti di tipo String utilizzando la parola chiave new.

La classe String dispone di 13 costruttori che permettono di associare il valore iniziale della striga utilizzando fonti diverse, come ad esempio un array:

char[] array={‘c’,’i’,’a’,’o’};

String miaStringa=new String(array);

System.out.println(miaStringa);

 

La classe String mette a disposizione molti metodi tra cui il metodo length() che restituisce il numero di caratteri contenuti nella stringa.

char[] array={‘c’,’i’,’a’,’o’};

String miaStringa=new String(array);

System.out.println(miaStringa);

System.out.println(miaStringa. length());

 

Un ‘altro metodo interessante  è il metodo concat() che ci consente di concatenare due stringhe

stringa1.concat(stringa2);

 

Spesso, un programma deve utilizzare dei dati numerici sotto forma di stringa.Le sottoclassi della classe Numbers,ovvero le classi wrap dei tipi primitivi numerici forniscono un metodo di classe denominato valueOf() che converte una stringa in un oggetto di quel tipo

int i;

String stringa=String.valueOf(i);

 

Inoltre ciascuna delle sottoclassi di Numbers include un metodo di classe, toString(), che permette di convertire il suo tipo primitivo in una stringa:

int i=10;

String stringa=Integer.toString(i);

 

Metodi della classe String

Il metodo forse più utilizzato è il metodo substring() che permette di prendere una porzione di una stringa

String miaStringa=“Ciao Mondo”;

String subString=miaStringa.substring(6);

System.out.println(subString);

 

Esiste anche una variante del metodo substtring() che richiede 2 parametri di tipo intero che il primo indica da dove inizia la sotto stringa e il secondo parametro indica dove finisce

String miaStringa=“Ciao Mondo”;

String subString=miaStringa.substring(2,6);

System.out.println(subString);