gpt4 book ai didi

java - 将映射中的条目与对象进行比较

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:04:08 26 4
gpt4 key购买 nike

我有一个像这样的 Java map ,

private HashMap<String, Object[][]> theMap;

其中键是一个字符串,条目将是这样的,

theMap = new HashMap<>();

Object[][] theData = {
{Boolean.FALSE, "Text"}
};

theMap.put("Key1", theData);

沿线的某处我想检查 map 中的条目是否等同于另一个对象。目前我是这样做的,

Object[][] tempData = {
{Boolean.FALSE, "Text"}
};

for(Object key: entries.keySet()) {
if(entries.get(key).equals(tempData)) {
entries.remove(key);
}
}

而且它不工作。

我更喜欢用一个对象而不是另一个 map 来进行比较。我想知道我在此处进行比较时做错了什么?

最佳答案

你没有得到平等的原因是数组继承 Object#equals() 这是基于身份,而不是内容的平等。您可以考虑使用 java.util.Arrays.deepEquals(Object[], Object[]) 进行比较。

这就是直接问题的答案。但是,使用 Object 的二维数组来保存一个 boolean 和一个 String 是非常糟糕的代码味道,表明您需要封装什么你正在放入数组。

关于java - 将映射中的条目与对象进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com