BT

Início Notícias Google Guava: O Canivete Suíço Para o Desenvolvedor Java

Google Guava: O Canivete Suíço Para o Desenvolvedor Java

Favoritos

Google Guava é mais um daqueles projetos que quebram um tremendo galho no dia a dia. O guava se resume a um conjunto de classes utilitárias que auxiliam, e muito, o desenvolvimento com a linguagem Java. Além de deixar seu código muito mais bonito, utilizar essa biblioteca pode evitar códigos repetitivos.

Para você que deseja utilizar a biblioteca basta ir ao site oficial, lá você encontra toda a documentação necessária para utilizar o guava.

Devido a grande quantidade de classes utilitárias irei mostrar exemplos das que mais me agradaram.Vamos ver alguns exemplos de utilização do guava:

Quantas vezes você já teve que verificar se uma String possui algum valor? Você lembra que  não basta verificar se ela está ou não vazia, antes disso é preciso verificar se ela está ou não nula:

boolean estaPreenchida = minhaString != null && minhaString.isEmpty();

Muitas vezes em nossos projetos essa verificação com String é algo extremamente comum, o que nos leva, muitas vezes a ter esses código em muitos lugares. Provavelmente você já deve ter escrito um método que verifica se a String é vazia ou nula para não precisar ficar utilizando duas verificações todas as vezes, porém, ao invés de escrever o guava já possui uma classe que faz isso para nós, vejamos:

boolean estaPreenchida = Strings.isNullOrEmpty(minhaString);

Outro método muito interessante da biblioteca é o readLines, que é bem semelhante ao do apache commons io porém oferece suporte a generics.

List<String> linhas = Files.readLines(arquivo, charset);

Você já precisou utilizar pré-condições? Algo como:  Se o nome não está preenchido não precisa continuar executando o método, quero que lançe uma exceção. Para isso temos que fazer um código parecido com esse:

if(Strings.isNullOrEmpty(nome)){

  throw new IllegalArgumentException();

}

E se eu precisar que além do nome, o endereço possua um comportamento parecido? Mais um if para a nossa felicidade! O guava introduz um conceito de pré-condições (Preconditions), onde eu faço algo semelhante com o que eu fiz no exemplo porém de uma maneira mais elegante onde próprio guava lança a exceção. 

Preconditions.checkArgument(Strings.isNullOrEmpty(nome));

Existem outro métodos como o .notNull ou o .checkStates na classe Preconditions que lançam exceções diferentes.

Outro método interessante do guava é o .contains() que verifica se um inteiro está em um array de inteiros:

boolean estaNoArray = Ints.contains(int[] array, int target)

Para aqueles que utilizavam o Google Collections uma novidade é que agora o projeto foi integrado com o Google Guava, ou seja, além desse métodos citados acima, utilizando o guava você ganha o Google Collections que já vêm embutido na biblioteca. 

Se você ainda não utiliza o Google Guava, bem, o que você está esperando? Essa é, sem dúvida, uma biblioteca que chama muita a atenção e foi desenvolvida com muita qualidade ( sua arquitetura teve a contribuição de Josh Block).

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

  • Google Guava

    by Emílio Santiago do Carmo /

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    Hauhauhua tá parecendo C#

  • Guava

    by Carlos Alberto /

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    A biblioteca parece ser interessante sim...

    Vou testar com certeza.

  • Google Guava

    by Paulo Gervásio /

    Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    Seria interessante também adicionar algumas funcionalidades para o array, como por exemplo:

    -push(Object value) => adiciona um elemento ao final do array
    -pop() => remove o último elemento do array
    -shift() => remove o primeiro elemento do array
    -unshift(Object value) => adiciona um elemento no início do array
    -add(int index,Object value) => adiciona um elemento no "meio" do array

    abs

  • Seu comentário está aguardando aprovação dos moderadores. Obrigado por participar da discussão!

    Reinventando a roda.

    Porque será que ao invés de contribuir com o apache-commons que é mais antigo o google cria uma nova biblioteca????

    Acho que quem comanda o google é o Pink e o Cérebro.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.