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).
Google Guava
by Emílio Santiago do Carmo,
Guava
by Carlos Alberto,
Google Guava
by Paulo Gervásio,
Apache
by Victor Franzonatto,
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
Apache
by Victor Franzonatto,
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.