Java: instanciar hashbimap da coleção do Google
Pergunta
Estou usando o eclipse e adicionei google-collect.1.0-rc2.jar
como uma biblioteca referenciada. No entanto, de alguma forma, isso ainda não funciona:
import com.google.common.collect.HashBiMap;
public class Odp {
//...
HashBiMap<Character, Integer> charOcc =
HashBiMap<Character, Integer>.create();
}
Eclipse dá os seguintes erros:
Vários marcadores nesta linha
- HashbiMap não pode ser resolvido
- Personagem.Integer não pode ser resolvido
- Erro de sintaxe no token "," "". esperado
- Erro de sintaxe no token ".", Exclua este token
- O método create () é indefinido para a classe ODP
O que estou fazendo errado?
Outras coisas do Google, como Joiner, funcionam bem. (Mas Joiner não é genérico.)
Solução
Ao chamar funções genéricas estáticas, você não passa os parâmetros de tipo:
HashBiMap<Character, Integer> charOcc = HashBiMap.create();
Além disso, você não deve codificar a classe de implementação, então é melhor fazer
Map<Character, Integer> charOcc = HashBiMap.create();
ou
BiMap<Character, Integer> charOcc = HashBiMap.create();
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow