Guava para Java: guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Guava e para que serve?

\n\n

Guava é uma poderosa biblioteca de código aberto do Google que fornece um conjunto de utilitários de alta qualidade para a linguagem Java. Ela foi criada para tornar o código Java mais conciso, confiável e eficiente, resolvendo muitas tarefas típicas que os desenvolvedores enfrentam.

\n\n

Para que serve Guava? A Java Standard Library (JDK) fornece funcionalidades básicas, mas muitas vezes deixa a desejar em termos de conveniência e segurança. Guava preenche essas lacunas, oferecendo:

\n
    \n
  • Simplificação do trabalho com coleções: Criação de coleções imutáveis, filtragem, transformação, agrupamento — tudo isso se torna muito mais simples.
  • \n
  • Cache: Um framework poderoso e flexível para cache de dados em memória.
  • \n
  • Manipulação de primitivos: Utilitários para trabalhar com arrays de tipos primitivos (int, long, double, etc.).
  • \n
  • Operações com strings: Classes convenientes para trabalhar com strings, como Joiner e Splitter.
  • \n
  • Trabalho com funções e predicados: Estilo de programação funcional (embora não tão conciso quanto no Java 8+, ainda assim útil).
  • \n
  • Verificação de pré-condições (Preconditions): Uma substituição elegante para verificações manuais de null e outras condições.
  • \n
  • Trabalho com hashing: Utilitários para criar funções hash.
  • \n
  • Threads e concorrência: Utilitários para trabalhar com multithreading, incluindo ListenableFuture.
  • \n
\n

Se você programa em Java e deseja aumentar a qualidade e a velocidade do desenvolvimento, Guava é uma biblioteca indispensável.

\n\n

Instalação do Guava

\n\n

Guava não é instalado via pip ou npm, pois é uma biblioteca para Java. Ela é distribuída através de sistemas de gerenciamento de dependências, como Maven ou Gradle.

\n\n

Instalação via Maven (pom.xml)

\n

Adicione o seguinte código na seção <dependencies> do seu arquivo pom.xml:

\n
<dependency>\n    <groupId>com.google.guava</groupId>\n    <artifactId>guava</artifactId>\n    <version>33.2.0-jre</version> <!-- Use a versão mais recente -->\n</dependency>
\n\n

Instalação via Gradle (build.gradle)

\n

Adicione na seção dependencies:

\n
implementation 'com.google.guava:guava:33.2.0-jre'
\n\n

Instalação manual (baixando o JAR)

\n

Você também pode baixar o arquivo JAR do lançamento do Guava no GitHub e adicioná-lo ao classpath do seu projeto.

\n\n

Importante: A versão 33.2.0-jre é destinada ao Java 8 e superior. Para versões mais antigas do Java, use a versão android (por exemplo, 33.2.0-android).

\n\n

Início rápido com exemplo de código

\n\n

Vamos escrever um programa simples que demonstra vários recursos principais do Guava.

\n\n
import com.google.common.base.Joiner;\nimport com.google.common.base.Splitter;\nimport com.google.common.collect.ImmutableList;\nimport com.google.common.collect.Lists;\n\nimport java.util.List;\n\npublic class GuavaQuickStart {\n    public static void main(String[] args) {\n        // 1. Criação de uma lista imutável\n        ImmutableList<String> names = ImmutableList.of("Alice", "Bob", "Charlie");\n        System.out.println("Nomes: " + names); // [Alice, Bob, Charlie]\n\n        // 2. Junção de strings com Joiner\n        String joined = Joiner.on(", ").join(names);\n        System.out.println("Nomes unidos: " + joined); // Alice, Bob, Charlie\n\n        // 3. Divisão de string com Splitter\n        String csv = "apple,banana,,grape";\n        Iterable<String> fruits = Splitter.on(",")\n                .trimResults()\n                    

Recommendations