Freigeben über


Arrays.DeepHashCode(Object[]) Methode

Definition

Gibt einen Hashcode zurück, der auf dem "deep contents" des angegebenen Arrays basiert.

[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

Parameter

a
Object[]

array, dessen deep-content-based hash code to compute

Gibt zurück

ein deep-content-based Hash-Code für a

Attribute

Hinweise

Gibt einen Hashcode zurück, der auf dem "deep contents" des angegebenen Arrays basiert. Wenn das Array andere Arrays als Elemente enthält, basiert der Hashcode auf ihren Inhalten usw., ad infinitum. Daher ist es inakzeptabel, diese Methode für ein Array aufzurufen, das sich selbst als Element enthält, entweder direkt oder indirekt über eine oder mehrere Arrayebenen. Das Verhalten eines solchen Aufrufs ist nicht definiert.

Für alle zwei Arrays a und b so ist Arrays.deepEquals(a, b)es auch der Fall, dass Arrays.deepHashCode(a) == Arrays.deepHashCode(b).

Die Berechnung des von dieser Methode zurückgegebenen Werts ähnelt dem wert, der von List#hashCode() einer Liste zurückgegeben wird, die dieselben Elemente a wie in derselben Reihenfolge enthält, wobei ein Unterschied besteht: Wenn ein Element e von a sich selbst ein Array ist, wird der Hashcode nicht durch Aufrufen berechnet, sondern durch Aufrufen e.hashCode()der entsprechenden Überladung Arrays.hashCode(e) , wenn e es sich um ein Array eines Grundtyps handelt, oder durch rekursives Aufrufen Arrays.deepHashCode(e) , wenn e es sich um ein Array eines Bezugstyps handelt. Ist a dies der Fall null, gibt diese Methode 0 zurück.

Hinzugefügt in 1.5.

Java-Dokumentation für java.util.Arrays.deepHashCode(java.lang.Object[]).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: