我发现这个旧的代码片段使用了Map Map的地图:
Map<String, Map<Long, Map<String, String>>> sMap = null;
除了为代码添加不必要的复杂性之外,还很难对该类进行单元测试。
但是,我的经理说使用Map Map是一个好习惯,因为它提高了使用Map Container的效率。有什么想法吗 ?
答案 0 :(得分:1)
这取决于。但是我想在这里提一个替代方案,它可能更适合您的用例:具有单一级别的地图,具有自定义类型的密钥。
class MyMapKey {
public String a;
public long b;
public String c;
// Implement equals() and hashCode() (or tell your IDE to do it)
}
Map<MyMapKey, String> sMap = null;
这通常会在降低地图级别时为您节省大量null
次检查,因此简化了代码。但是,例如,您无法再有效地迭代a
设置为"zoidberg"
的所有项目。
答案 1 :(得分:1)