首页 > 解决方案 > Hash Table的put方法如何声明?

问题描述

我不知道如何解决这个关于 put 方法声明的错误......

private Hashtable<Acronimo, Acronimo> lista;

public Dicionario() {
    lista = new Hashtable<Acronimo, Acronimo>();
}

//adiciona

public boolean juntaAcronimo(Acronimo aAcronimo) {
    if( lista != null) {
        return lista.put(aAcronimo.getChave(), aAcronimo);
    }
    return false;
}

Hashtable 类型中的 put(Acronimo, Acronimo) 方法不适用于参数 (String, Acronimo)

标签: hashtable

解决方案


您在字段声明中使用了无效的泛型类型lista,它应该是:

private Hashtable<String, Acronimo> lista;

考虑使用 aHashMap而不是Hashtable. Hashtable是早期 Java 版本的旧类,由于向后兼容性,它不必要地同步。

private Map<String, Acronimo> lista = new HashMap<>();

推荐阅读