Condividi tramite


Arrays.DeepHashCode(Object[]) Metodo

Definizione

Restituisce un codice hash basato sul "contenuto profondo" della matrice specificata.

[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

Parametri

a
Object[]

matrice il cui codice hash basato sul contenuto avanzato da calcolare

Restituisce

un codice hash basato su contenuto avanzato per a

Attributi

Commenti

Restituisce un codice hash basato sul "contenuto profondo" della matrice specificata. Se la matrice contiene altre matrici come elementi, il codice hash si basa sul relativo contenuto e così via, ad infinitum. È pertanto inaccettabile richiamare questo metodo su una matrice che si contiene come elemento, direttamente o indirettamente tramite uno o più livelli di matrici. Il comportamento di tale chiamata non è definito.

Per due matrici a e b in modo tale che Arrays.deepEquals(a, b), è anche il caso che Arrays.deepHashCode(a) == Arrays.deepHashCode(b).

Il calcolo del valore restituito da questo metodo è simile a quello del valore restituito da List#hashCode() in un elenco contenente gli stessi elementi a dello stesso ordine, con una differenza: se un elemento e di a è se stesso una matrice, il relativo codice hash viene calcolato non chiamando e.hashCode(), ma chiamando l'overload appropriato di Arrays.hashCode(e) se e è una matrice di un tipo primitivo, o come chiamando Arrays.deepHashCode(e) in modo ricorsivo se e è una matrice di un tipo riferimento. Se a è null, questo metodo restituisce 0.

Aggiunto nella versione 1.5.

Documentazione java per java.util.Arrays.deepHashCode(java.lang.Object[]).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.

Si applica a