Validazione delle stringhe in Java
Scorri per mostrare il menu
Quando si lavora con input di testo, gli utenti raramente forniscono esattamente ciò che ci si aspetta: alcuni lasciano i campi vuoti, altri digitano solo spazi, altri ancora dimenticano simboli obbligatori. Per questo motivo, prima di utilizzare qualsiasi stringa in un programma, spesso è necessario validarla — verificando che rispetti determinate regole.
Abbiamo già visto strumenti di base come isEmpty(), length() e contains(), ma ora ne aggiungeremo altri particolarmente utili nei casi reali di validazione degli input.
isBlank()
Un problema molto comune si verifica quando una stringa non è tecnicamente vuota, ma contiene solo spazi. Ad esempio, un utente potrebbe "digitare" un nome ma premere solo la barra spaziatrice alcune volte. .isBlank() gestisce questa situazione trattando le stringhe composte solo da spazi come input non valido. Restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }
Anche se customerName non è completamente vuoto, contiene solo spazi — quindi .isBlank() restituisce true, segnalando che non c'è contenuto significativo.
startsWith()
A volte è necessario assicurarsi che una stringa segua una struttura specifica. Ad esempio, ogni codice ordine nel nostro sistema potrebbe dover iniziare con "ORD". .startsWith() controlla l'inizio della stringa e restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }
.startsWith("ORD") controlla i primi tre caratteri di orderCode — poiché corrispondono, restituisce true, confermando che il codice segue il formato previsto.
endsWith()
Possiamo anche validare la fine di una stringa — particolarmente utile per nomi di file o formati. Ad esempio, per assicurarci che un file di ricevuta sia effettivamente un PDF. Restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }
.endsWith(".pdf") controlla gli ultimi quattro caratteri di receiptFile — poiché corrispondono a ".pdf", restituisce true.
Validazione combinata
La validazione reale di solito non consiste in un solo controllo, ma in più regole che lavorano insieme. Ad esempio, la validazione di un nome utente potrebbe richiedere che non sia vuoto, abbia almeno 5 caratteri e non contenga spazi:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }
Tutte e tre le condizioni sono combinate con && — il nome utente deve superare ogni singolo controllo per essere considerato valido. "coffeeMaster" non è vuoto, ha più di 5 caratteri e non contiene spazi, quindi validUsername è true.
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Validazione delle stringhe in Java
Quando si lavora con input di testo, gli utenti raramente forniscono esattamente ciò che ci si aspetta: alcuni lasciano i campi vuoti, altri digitano solo spazi, altri ancora dimenticano simboli obbligatori. Per questo motivo, prima di utilizzare qualsiasi stringa in un programma, spesso è necessario validarla — verificando che rispetti determinate regole.
Abbiamo già visto strumenti di base come isEmpty(), length() e contains(), ma ora ne aggiungeremo altri particolarmente utili nei casi reali di validazione degli input.
isBlank()
Un problema molto comune si verifica quando una stringa non è tecnicamente vuota, ma contiene solo spazi. Ad esempio, un utente potrebbe "digitare" un nome ma premere solo la barra spaziatrice alcune volte. .isBlank() gestisce questa situazione trattando le stringhe composte solo da spazi come input non valido. Restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String customerName = " "; boolean isBlankName = customerName.isBlank(); System.out.println(isBlankName); } }
Anche se customerName non è completamente vuoto, contiene solo spazi — quindi .isBlank() restituisce true, segnalando che non c'è contenuto significativo.
startsWith()
A volte è necessario assicurarsi che una stringa segua una struttura specifica. Ad esempio, ogni codice ordine nel nostro sistema potrebbe dover iniziare con "ORD". .startsWith() controlla l'inizio della stringa e restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String orderCode = "ORD-2459"; boolean validOrderCode = orderCode.startsWith("ORD"); System.out.println(validOrderCode); } }
.startsWith("ORD") controlla i primi tre caratteri di orderCode — poiché corrispondono, restituisce true, confermando che il codice segue il formato previsto.
endsWith()
Possiamo anche validare la fine di una stringa — particolarmente utile per nomi di file o formati. Ad esempio, per assicurarci che un file di ricevuta sia effettivamente un PDF. Restituisce un valore boolean.
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { String receiptFile = "receipt.pdf"; boolean validReceiptFile = receiptFile.endsWith(".pdf"); System.out.println(validReceiptFile); } }
.endsWith(".pdf") controlla gli ultimi quattro caratteri di receiptFile — poiché corrispondono a ".pdf", restituisce true.
Validazione combinata
La validazione reale di solito non consiste in un solo controllo, ma in più regole che lavorano insieme. Ad esempio, la validazione di un nome utente potrebbe richiedere che non sia vuoto, abbia almeno 5 caratteri e non contenga spazi:
Main.java
123456789101112131415package com.example; public class Main { public static void main(String[] args) { String username = "coffeeMaster"; boolean validUsername = !username.isBlank() && username.length() >= 5 && !username.contains(" "); System.out.println(validUsername); } }
Tutte e tre le condizioni sono combinate con && — il nome utente deve superare ogni singolo controllo per essere considerato valido. "coffeeMaster" non è vuoto, ha più di 5 caratteri e non contiene spazi, quindi validUsername è true.
Grazie per i tuoi commenti!