Arrays.DeepHashCode(Object[]) 方法

定义

基于指定数组的“深度内容”返回哈希代码。

[Android.Runtime.Register("deepHashCode", "([Ljava/lang/Object;)I", "")]
public static int DeepHashCode (Java.Lang.Object[]? a);
[<Android.Runtime.Register("deepHashCode", "([Ljava/lang/Object;)I", "")>]
static member DeepHashCode : Java.Lang.Object[] -> int

参数

a
Object[]

要计算的基于深度内容的哈希代码的数组

返回

用于 的基于深度内容的哈希代码 a

属性

注解

基于指定数组的“深度内容”返回哈希代码。 如果数组包含其他数组作为元素,则哈希代码基于其内容等,即 ad infinitum。 因此,在包含自身作为元素的数组上调用此方法是不可接受的,无论是直接或间接地通过一个或多个数组级别。 此类调用的行为未定义。

对于任何两个 a 数组, b 因此 Arrays.deepEquals(a, b),这也是这样 Arrays.deepHashCode(a) == Arrays.deepHashCode(b)

此方法返回的值的计算与包含相同顺序的元素的列表上返回List#hashCode()的值的计算类似,有一个区别:如果元素ea本身是数组,则通过调用计算其哈希代码,而不是通过调用e.hashCode()适当的重载Arrays.hashCode(e)(如果为e基元类型的数组)来计算其哈希a代码, 或者,如果引用类型的数组是递归e调用Arrays.deepHashCode(e),则为 。 null如果是a,此方法返回 0。

在 1.5 中添加。

适用于 . 的 java.util.Arrays.deepHashCode(java.lang.Object[])Java 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

适用于