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).