Usare le stringhe



Ogni stringa in java è un oggetto: cioè dovremo utilizzarle in modo un po' diverso dalle altre variabili (che si chiamamo tipi primitivi come gli int o i double ecc...)
Per il fatto che la stringa è un oggetto dovremo utilizzare dei metodi (funzioni) appositi per l'oggetto.
Cominciamo dalla dichiarazione di una stringa:

String nome; Ho dichiarato "nome" come una variabile oggetto di tipo stringa, ma non la ho inizializzata a nessun valore.

String nome = "Saretta"; La stessa cosa di prima ma in più ho inizializzato la variabile.

String nome; .......codice vario........ nome = "Simone"; Ho dichiarato una variabile stringa "nome" e poi nel codice le ho assegnato il valore "Simone".

E' evidente che per quanto riguarda la parte di dichiarazione e di assegnazione le stringhe non differiscono dai tipi primitivi.
Ma come facciamo per confrontare due stringhe?
String nome1 = "Pinco"; String nome2 = "Pallino"; int a = nome1.compareTo( nome2 ); Il metodo compareTo confronta in modo lessicografico (ossia confronta i codici di ogni lettera) le stringhe e restituisce:
String nome1 = "Pinco"; String nome2 = "Pallino"; boolean isEqual = nome1.equals( nome2 ); Il metodo equals confronta le due stringhe e restituisce True se sono uguali, False altrimenti.
Usando allo stesso modo il metodo equalsIgnoreCase, verrà ignorata la differenza tra maiuscole a minuscole: cioè "A" sarà considerata uguale a "a"

Ok ora sappiamo come confrontare due stringhe ma come manipolo stè stringhe?

Ecco alcuni dei metodi più utili:
Come concatenare due o più stringhe tra loro:
String nome1 = "Simone"; String nome2 = "Pippo"; String newNome = nome1 + nome2; newNome sarà uguale a "SimonePippo".

Se vogliamo inserire in una stringa dei valori che non sono di tipo stringa non occore convertirli prima perchè questa operazione viene svolta automaticamente. String nome1 = "Simone"; int anno = 82; String newNome = nome1 + anno;
Adesso newNome sarà uguale a "Simone82".

Come infarinatura generale sulle stringhe penso possa bastare, a voi il compito di approfondire ulteriormente ;-)


Indietro Avanti Corso di Java Coding center Back to home