gpt4 book ai didi

java - TObjectIntMap (Trove 3) 'int get(java.lang.Object key)' 方法如何返回 null?这是文档错误吗?

转载 作者:太空宇宙 更新时间:2023-11-04 07:01:20 27 4
gpt4 key购买 nike

我一直在研究 Trove4j 库的文档。特别是 TObjectIntMap 接口(interface)。根据库的文档,如果映射中不存在该键,则 get 方法将返回 null。我所指的文档可以在这里看到:

http://trove4j.sourceforge.net/javadocs/gnu/trove/map/TObjectIntMap.html#get%28java.lang.Object%29

在阅读时(2014 年 2 月 27 日),文档指出

int get(java.lang.Object key)"Returns the value to which the specified key is mapped, or null if this map contains no mapping for the key."

我的问题是:

当返回类型是原始int时,该方法怎么可能返回null。据我所知,Integer 引用只能为null。是文档错误吗?

最佳答案

你是对的,int不能为空。因此他们的文档不一致。

为了让您了解 Trove 的构建方式:它们具有用于数据结构的所有原语和对象排列的模板,因此您无法保持所有内容一致是可以理解的。但是,您应该向项目报告此问题,以便他们可以修复该问题。

要检查某个键是否有值,您应该使用该方法

public boolean containsKey(java.lang.Object key)

或者(一个更hacky的解决方案)是检查没有条目的默认值:

gnu.trove.impl.Constants.DEFAULT_INT_NO_ENTRY_VALUE

如果您没有覆盖 gnu.trove.no_entry.int 属性,则默认为 0。

关于java - TObjectIntMap (Trove 3) 'int get(java.lang.Object key)' 方法如何返回 null?这是文档错误吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22065622/

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