gpt4 book ai didi

java - 当我新建一个 Hashtable 时,为什么会调用 put 方法?

转载 作者:搜寻专家 更新时间:2023-11-01 01:53:37 24 4
gpt4 key购买 nike

我正在阅读Hashtable 的代码,感到困惑并有一些疑问。我这样编码:

Hashtable table = new Hashtable();
table.put(table, 1);
int code = table.hashCode();

我有两个问题:

  1. 当我像第三行代码一样调用hashCode方法时,为什么不是死循环?我认为这是一个无限循环。

  2. 调试这段代码时,发现代码new Hashtable()会导致调用put方法,为什么?

    <

最佳答案

  1. 根据 the OpenJDK source I'm reading ,有专门编写的保护程序来防止 Hashtable 包含自身的情况。

  2. 我没有在构造函数中看到任何对 put 的引用。您有可以在答案中发布的痕迹吗?

关于java - 当我新建一个 Hashtable 时,为什么会调用 put 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17847688/

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