Domínio das Classes Fundamentais e APIs Essenciais do Java

Manipulação de Texto com a Classe String

No Java, cadeias de caracteres são representadas pela classe String. Uma característica fundamental é a sua imutabilidade: uma vez instanciada, o valor da String não pode ser modificado. Qualquer operação de alteração resulta na criação de um novo objeto.

Método Descrição
length() Retorna o total de caracteres da sequência.
equals(Object obj) Valida se o conteúdo de duas strings é idêntico.
equalsIgnoreCase(String str) Compara conteúdos ignorando a diferença entre maiúsculas e minúsculas.
trim() Elimina espaços em branco nas extremidades da string.
charAt(int index) Extrai o caractere presente em uma posição específica.
indexOf(String str) Localiza o índice da primeira ocorrência de um termo.
replace(old, new) Substitui trechos de texto por novos valores (suporta Regex).
substring(int start) Corta a string a partir do índice infromado até o final.
startsWith(String prefix) Verifica se o texto inicia com o prefixo indicado.

Trabalhando com Datas: Date e SimpleDateFormat

A classe Date encapsula um momento específico no tempo, com precisão de milissegundos, baseando-se na era Unix (1 de janeiro de 1970).

Para formatar objetos de data em texto legível ou converter strings em objetos de data, utiliza-se a classe SimpleDateFormat.


// Definindo um padrão de formatação brasileiro
SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");

// Convertendo objeto Date para String
Date agora = new Date();
String dataFormatada = formatador.format(agora);
System.out.println("Data atual: " + dataFormatada);

// Convertendo String para objeto Date
try {
    String entrada = "25/12/2023 20:00:00";
    Date dataFinal = formatador.parse(entrada);
    System.out.println("Timestamp: " + dataFinal.getTime());
} catch (ParseException e) {
    System.err.println("Erro: O formato da data é inválido.");
}

Classes Wrapper e Conversão de Tipos

Cada tipo primitivo possui uma classe correspondente (Wrapper) que permite tratar valores básicos como objetos, possibilitando o uso em coleções e o acesso a métodos utilitários.

  • int → Integer
  • char → Character
  • double → Double
  • boolean → Boolean

Autoboxing e Unboxing: O Java realiza automaticamente a conversão entre primitivos e wrappers. Por exemplo, Integer x = 10; (Autoboxing) e int y = x; (Unboxing).

Exemplos de conversão de dados:


// Texto para Inteiro
int idade = Integer.parseInt("25");

// Inteiro para Texto
String precoTexto = String.valueOf(199.90);
String concatenacao = 100 + ""; // Forma simplificada

Entrada de Dados e Aleatoriedade

A classe Scanner facilita a leitura de entradas do usuário, enquanto a classe Random é utilizada para gerar valores pseudoaleatórios.


// Leitura do console
Scanner entrada = new Scanner(System.in);
System.out.print("Digite um número: ");
int valorLido = entrada.nextInt();

// Geração de números
Random gerador = new Random();
int numeroSorteado = gerador.nextInt(50); // Gera entre 0 e 49

Interface Gráfica com Swing (GUI)

O pacote javax.swing oferece componentes para criação de interfaces desktop. O contêiner principal é o JFrame, que abriga elementos como botões (JButton) e campos de texto (JTextField).

Configuração Básica de Janela:


JFrame janela = new JFrame("Sistema de Acesso");
janela.setSize(400, 250);
janela.setLocationRelativeTo(null); // Centraliza
janela.setLayout(null); // Layout absoluto
janela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Adicionando um campo de senha
JPasswordField campoSenha = new JPasswordField();
campoSenha.setBounds(50, 50, 200, 30);
janela.add(campoSenha);

// Botão com evento de clique
JButton btnConfirmar = new JButton("Entrar");
btnConfirmar.setBounds(50, 100, 100, 30);
btnConfirmar.addActionListener(e -> {
    char[] pass = campoSenha.getPassword();
    if (pass.length == 0) {
        JOptionPane.showMessageDialog(janela, "Senha obrigatória!");
    } else {
        JOptionPane.showMessageDialog(janela, "Processando login...");
    }
});
janela.add(btnConfirmar);

janela.setVisible(true);

Para exibição de imagens, utiliza-se o JLabel em conjunto com o ImageIcon, permitindo a renderização de elementos visuais dentro do contêiner.

Tags: java swing API OOP formatting

Publicado em 10-10 12:00