"Cosa ne pensi, Amigo? Qual è la classe Java più popolare dopo int?"
"Mi hai già dato uno spoiler nel titolo della lezione, Ellie. È String
!"
"In effetti, è uno spoiler. String
è usato assolutamente ovunque. Ha un sacco di metodi utili che è meglio conoscere.
"La String
classe è l'unica classe diversa dai tipi primitivi i cui valori letterali possono essere usati in un'istruzione switch
; il compilatore gestisce l'addizione di stringhe e gli oggetti String in un modo speciale; String
gli oggetti sono archiviati nella memoria in un modo speciale. Fondamentalmente, la String
classe è molto classe speciale.
"Inoltre, la String
classe ha una serie di classi di supporto il cui scopo è semplificare ulteriormente il lavoro con le stringhe in Java. Quando imparerai tutto questo, molte cose diventeranno davvero molto più facili da fare per te."
"Non vedo l'ora."
"Bene, inizieremo proprio dal nucleo di questo ecosistema: l'organizzazione della String
classe. La struttura della String
classe è in realtà molto semplice: al suo interno c'è un array di caratteri ( char
array) che memorizza tutti i caratteri della stringa. Per esempio, ecco come viene memorizzata la parola 'Ciao':
È importante.
In realtà, questo non è del tutto esatto. Poiché la String
classe è molto importante, utilizza molte ottimizzazioni e i dati vengono archiviati internamente non come array di caratteri, ma semplicemente come array di byte.
Metodi della classe String
La String
classe ha molti metodi: ha solo 18 costruttori! Quindi, di seguito elencherò solo quelli più frequentemente utilizzati:
Metodi | Descrizione |
---|---|
|
Restituisce il numero di caratteri nella stringa |
|
Controlla se la stringa è una stringa vuota |
|
Verifica che la stringa contenga solo spazi bianchi: spazio, tabulazione, nuova riga, ecc. |
|
Restituisce il carattere nella posizione di indice nella stringa. |
|
Restituisce un array dei caratteri (una copia) che compongono la stringa |
|
Converte una stringa in un set di byte e restituisce la matrice di byte. |
|
Divide una stringa in più sottostringhe. |
|
Unisce più sottostringhe insieme |
|
Inserisce una stringa nel pool di stringhe. |
"Sembra molto buono!"
"Scriviamo un programma che converte il percorso di un file dallo stile Unix allo stile Windows. Unix usa il /
carattere per separare le cartelle, mentre Windows usa il \
carattere.
Soluzione 1. Utilizzo di un char
array
Codice | Appunti |
---|---|
|
Creare un oggetto Scanner Leggere una riga dalla console Convertire una stringa in un array di caratteri Passare sui caratteri Se il carattere è / , sostituirlo con \ . Non dimenticare di scappare. Crea una nuova stringa basata sull'array di caratteri. Visualizza la stringa. |
Soluzione 2. Utilizzando i metodi split()
e join()
:
Codice | Appunti |
---|---|
|
Creare un oggetto Scanner Leggere una riga dalla console Convertire string in un array di stringhe . Il / carattere viene utilizzato come separatore (le due barre in più sono il risultato di un doppio escape). Concatenare tutte le stringhe nell'array di stringhe . Il \ è usato come separatore (lo vediamo sfuggito). Visualizza la stringa. |
Soluzione 3. Utilizzando il replace(char oldChar, char newChar)
metodo:
Codice | Appunti |
---|---|
|
Crea un oggetto Scanner Leggi una riga dalla console Sostituisci semplicemente un carattere con un altro (il secondo è sfuggito) Visualizza la stringa. |
"Mi è piaciuta di più la terza soluzione. Ma mi eserciterò con tutte e tre."
"Ben fatto, Amigo. Vedo che sei già impaziente di mettere in pratica le tue nuove conoscenze. La lezione è finita."
GO TO FULL VERSION