Validando Strings em Java
Deslize para mostrar o menu
Ao trabalhar com entrada de texto, raramente os usuários fornecem exatamente o que você espera — alguns deixam campos em branco, outros digitam apenas espaços, alguns esquecem símbolos obrigatórios. Por isso, antes de usar qualquer string em um programa, muitas vezes precisamos validá-la primeiro — verificando se ela segue certas regras.
Já vimos ferramentas básicas como isEmpty(), length() e contains(), mas agora vamos adicionar mais algumas que são especialmente úteis em cenários reais de validação de entrada.
isBlank()
Um problema muito comum ocorre quando uma string não está tecnicamente vazia, mas contém apenas espaços. Por exemplo, um usuário pode "digitar" um nome, mas apenas pressionar a barra de espaço algumas vezes. .isBlank() lida com isso tratando strings compostas apenas por espaços em branco como entrada inválida. Retorna um 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); } }
Embora customerName não esteja completamente vazio, ele contém apenas espaços — portanto, .isBlank() retorna true, indicando que não há conteúdo significativo.
startsWith()
Às vezes, é necessário garantir que uma string siga uma estrutura específica. Por exemplo, todo código de pedido em nosso sistema pode precisar começar com "ORD". O método .startsWith() verifica o início da string e retorna um 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") verifica os três primeiros caracteres de orderCode — como eles correspondem, retorna true, confirmando que o código segue o formato esperado.
endsWith()
Também é possível validar o final de uma string — especialmente útil para nomes de arquivos ou formatos. Por exemplo, garantir que um arquivo de recibo seja realmente um PDF. Retorna um 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") verifica os últimos quatro caracteres de receiptFile — como eles correspondem a ".pdf", retorna true.
Validação Combinada
A validação real geralmente não é apenas uma verificação — são várias regras funcionando juntas. Por exemplo, validar um nome de usuário pode exigir que ele não esteja em branco, tenha pelo menos 5 caracteres e não contenha espaços:
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); } }
Todas as três condições são combinadas com && — o nome de usuário deve passar em todas as verificações para ser considerado válido. "coffeeMaster" não está em branco, tem mais de 5 caracteres e não contém espaços, portanto validUsername é true.
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Validando Strings em Java
Ao trabalhar com entrada de texto, raramente os usuários fornecem exatamente o que você espera — alguns deixam campos em branco, outros digitam apenas espaços, alguns esquecem símbolos obrigatórios. Por isso, antes de usar qualquer string em um programa, muitas vezes precisamos validá-la primeiro — verificando se ela segue certas regras.
Já vimos ferramentas básicas como isEmpty(), length() e contains(), mas agora vamos adicionar mais algumas que são especialmente úteis em cenários reais de validação de entrada.
isBlank()
Um problema muito comum ocorre quando uma string não está tecnicamente vazia, mas contém apenas espaços. Por exemplo, um usuário pode "digitar" um nome, mas apenas pressionar a barra de espaço algumas vezes. .isBlank() lida com isso tratando strings compostas apenas por espaços em branco como entrada inválida. Retorna um 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); } }
Embora customerName não esteja completamente vazio, ele contém apenas espaços — portanto, .isBlank() retorna true, indicando que não há conteúdo significativo.
startsWith()
Às vezes, é necessário garantir que uma string siga uma estrutura específica. Por exemplo, todo código de pedido em nosso sistema pode precisar começar com "ORD". O método .startsWith() verifica o início da string e retorna um 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") verifica os três primeiros caracteres de orderCode — como eles correspondem, retorna true, confirmando que o código segue o formato esperado.
endsWith()
Também é possível validar o final de uma string — especialmente útil para nomes de arquivos ou formatos. Por exemplo, garantir que um arquivo de recibo seja realmente um PDF. Retorna um 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") verifica os últimos quatro caracteres de receiptFile — como eles correspondem a ".pdf", retorna true.
Validação Combinada
A validação real geralmente não é apenas uma verificação — são várias regras funcionando juntas. Por exemplo, validar um nome de usuário pode exigir que ele não esteja em branco, tenha pelo menos 5 caracteres e não contenha espaços:
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); } }
Todas as três condições são combinadas com && — o nome de usuário deve passar em todas as verificações para ser considerado válido. "coffeeMaster" não está em branco, tem mais de 5 caracteres e não contém espaços, portanto validUsername é true.
Obrigado pelo seu feedback!