我在 java 中使用 Map<Map, Boolean> ,当我尝试使用 containsKey() 方法验证 Map 时,它总是返回 false,内部 Map 总是更新其键和值。这是看起来与此类似的代码
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
public class ExampleMap
{
private static Map<Map<Long,Boolean>, Boolean> objectDetailsToSize= new HashMap<>();
public static void main(String[] args)
{
Random rn = new Random();
int size = 10;
Map<Long,Boolean> detailsMap = new HashMap<>();
for(int i=0; i< size; i++)
{
detailsMap.put(rn.nextLong(),rn.nextBoolean());
if(!objectDetailsToSize.containsKey(detailsMap))
{
objectDetailsToSize.put(detailsMap, rn.nextBoolean());
System.out.println("Why containsKey() method is failing here");
}
}
}
}
为什么 Map 的 containsKey() 方法总是在这里失败?