为什么不:
public native long hashCode();
代替:
public native int hashCode();
获得唯一哈希码的更高机会?
因为数组的最大长度为Integer.MAX_VALUE
。
由于的主要用途hashCode()
是确定将对象插入HashMap
/ 的后备数组中的哪个插槽Hashtable
,因此hashcode>
Integer.MAX_VALUE
将无法存储在该数组中。
问题内容: 在Java中,hashcode()方法返回整数而不是long。有什么具体原因吗? 问题答案: 那么,一个良好的理由是,基于数据结构(,)使用一个数组来存储箱,并且阵列被限制为索引。 如果必须将其映射到数组索引,那么您将一无所获。
问题内容: Go 包中的大多数输出方法都会返回,例如的方法和函数。但是,一些输出方法(例如的方法)会返回。这使得不方便实现在以下方面或不存储的中间值,并输入从将其转换到。这种差异的原因是什么? 问题答案: 复制的数据可能超过int32字节。 使用和接口,数据量受给定切片的大小限制,该切片的长度受当前体系结构的限制。
查看javadoc,我看到ArrayList有一个重载的add方法: 公共布尔加法(E E) 将指定的元素追加到此列表的末尾。 所以我去了收藏。添加(E): 布尔加法 确保此集合包含指定的元素(可选操作)。如果此集合由于调用而更改,则返回true。(如果此集合不允许重复并且已包含指定的元素,则返回false。) 这样,如果在集合中,则不采取任何操作。为什么返回而不是方法更好呢?
问题内容: 据我所知,使用或实例化对象分别返回或的新实例。具有 新标识 的新实例对象。 在我实际测试它之前,这对我来说是很清楚的,我注意到它实际上返回了而不是预期的: 如预期的那样,分别使用和创建对象时,也会表现出这种行为: 我可以在状态文档中找到唯一相关的信息: […]例如,return和return 。 如果未提供任何参数,则构造函数将创建一个新的空元组。 可以说,这不足以回答我的问题。 那么
问题内容: 有人可以解释为什么我想要的结果“ hi”以字母“ b”开头并以换行符开头吗? 我正在使用 Python 3.3 如果我使用python 2.7运行此额外的“ b”,则不会出现 问题答案: 默认情况下,echo命令返回换行符 与此比较: 至于字符串前面的 b ,则表明它是一个字节序列,等效于Python 2.6+中的常规字符串 http://docs.python.org/3/refer
问题内容: 我想知道为什么Arrays类的sort方法要求一个Object []类型的参数。为什么参数不是Comparable []类型。如果不传递Comparable [],它将生成ClassCastException。 为什么… public static void sort(Object [] a) 而不是 public static void sort(Comparable [] a) ?