Biblioteca Padrão Java: visão geral completa
A Biblioteca Padrão Java (Java Standard Edition API) é um conjunto poderoso e abrangente de classes e interfaces, fornecendo aos desenvolvedores soluções prontas para a maioria das tarefas típicas. Ela é uma parte essencial da plataforma Java e abrange tudo: desde tipos de dados básicos e trabalho com coleções até multithreading, entrada-saída e comunicação em rede. Nesta visão geral, exploraremos os pacotes principais e suas funcionalidades.
Pacote java.lang — a base da linguagem
O pacote java.lang é importado automaticamente. Ele contém classes fundamentais, sem as quais é impossível escrever qualquer programa em Java.
- Object — a classe raiz da hierarquia. Todas as classes herdam seus métodos (
equals(),hashCode(),toString()). - String, StringBuilder, StringBuffer — para trabalhar com strings imutáveis e mutáveis.
- Tipos Wrapper —
Integer,Double,Booleane outros — permitem usar primitivos em coleções. - System — classe utilitária para trabalhar com o console (
System.out), propriedades do sistema e arrays (System.arraycopy()). - Math — fornece constantes e funções matemáticas (
Math.sin(),Math.sqrt()).
// Exemplo de uso de java.langpublic class LangExample { public static void main(String[] args) { String text = "Hello, Java!"; int length = text.length(); // 12 double root = Math.sqrt(25); // 5.0 System.out.println(text.toUpperCase()); // HELLO, JAVA! }}Pacote java.util — coleções e utilitários
Este é um dos pacotes mais utilizados. Ele inclui o Collections Framework — uma arquitetura unificada para armazenar e processar dados.
Coleções
- List — lista ordenada (permite duplicatas). Implementações:
ArrayList,LinkedList. - Set — conjunto de elementos únicos. Implementações:
HashSet,TreeSet. - Map — dicionário (chave-valor). Implementações:
HashMap,TreeMap. - Queue/Deque — filas para processamento de dados (ex.:
PriorityQueue).
import java.util.*;
public class CollectionsExample { public static void main(String[] args) { List<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); list.add("Java"); // Duplicata permitida
Set<Integer> set = new HashSet<>(); set.add(10); set.add(20); set.add(10); // Duplicata será ignorada
Map<String, Integer> map = new HashMap<>(); map.put("Alice", 30); map.put("Bob", 25);
System.out.println("List: " + list); System.out.println("Set: " + set); System.out.println("Map: " + map); }}Utilitários
- Collections — métodos estáticos para ordenação, busca e sincronização de coleções.
- ArraysArrays.sort(),
Arrays.asList()). - Date, Calendar — para trabalhar com datas e horas (obsoletos em favor de
java.time). - Random — geração de números pseudoaleatórios.
Pacote java.io — entrada-saída
Este pacote fornece classes para trabalhar com fluxos de dados: arquivos, console, conexões de rede. Baseia-se no conceito de InputStream/OutputStream para bytes e Reader/Writer para caracteres.
- \
Também na biblioteca
Validação de dados em Go: bibliotecas, exemplos e melhores práticas
GraphQL em PHP: bibliotecas webonyx/graphql-php e Lighthouse para criação de APIs
Cliente OAuth para Swift (iOS/macOS): biblioteca OAuthSwift
Parsing de HTML em TypeScript: bibliotecas, ferramentas e exemplos
Internacionalização (i18n) em Rust: melhores bibliotecas e práticas