You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android中实现字典?寻求替代手动实现Abstract Dictionary类的简便方案

解决Android中Dictionary实现冗余的问题

嘿,我完全懂你现在的烦恼——手动实现Dictionary抽象类的所有方法不仅冗余,还容易因为错误的默认实现导致运行时问题。其实有几个更简便的方案,根本不用自己写那些空方法:

方案1:用HashMap替代Dictionary(推荐)

Dictionary是Java早期的抽象类,现在更推荐使用Map接口的实现类,比如HashMap,它已经完整实现了所有核心方法,直接用就行:

private final Map<String, String> allWords = new HashMap<>();

你可以直接调用put()、get()、size()等方法,完全不需要自己实现任何逻辑,而且HashMap在Android中使用非常广泛,性能也很稳定。

方案2:直接使用Hashtable(Dictionary的子类)

如果你因为某些原因必须使用Dictionary类型,那可以直接实例化它的子类Hashtable,它已经实现了Dictionary的所有抽象方法:

private final Dictionary<String, String> allWords = new Hashtable<>();

这样一行代码就搞定了,不用再写那些冗余的匿名内部类实现。

为什么你之前的代码会报错?

你之前的实现里,方法的返回值逻辑是矛盾的:比如isEmpty()返回false但size()返回0,put()方法直接返回null(意味着没有正确处理元素添加),当你实际调用这些方法时,自然会出现不符合预期的错误。

内容的提问来源于stack exchange,提问作者ZeinZebib

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.30 08:49:06