Arrays.DeepHashCode(Object[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Retorna um código hash com base no "conteúdo profundo" da matriz especificada.
[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
Parâmetros
- a
- Object[]
A matriz cujo código hash baseado em conteúdo profundo deve ser computado
Retornos
um código hash baseado em conteúdo profundo para a
- Atributos
Comentários
Retorna um código hash com base no "conteúdo profundo" da matriz especificada. Se a matriz contiver outras matrizes como elementos, o código hash será baseado em seu conteúdo e assim por diante, ad infinitum. Portanto, é inaceitável invocar esse método em uma matriz que se contém como um elemento, direta ou indiretamente por meio de um ou mais níveis de matrizes. O comportamento de tal invocação é indefinido.
Para quaisquer duas matrizes a
e b
tal que Arrays.deepEquals(a, b)
, também é o caso de que Arrays.deepHashCode(a) == Arrays.deepHashCode(b)
.
O cálculo do valor retornado por esse método é semelhante ao do valor retornado por List#hashCode()
em uma lista contendo os mesmos elementos que a
na mesma ordem, com uma diferença: Se um elemento e
de é em si uma matriz, seu código hash é computado a
não chamando e.hashCode()
, mas como chamando a sobrecarga apropriada de Arrays.hashCode(e)
se e
é uma matriz de um tipo primitivo, ou como chamando Arrays.deepHashCode(e)
recursivamente se e
é uma matriz de um tipo de referência. Se a
for null
, esse método retorna 0.
Adicionado em 1.5.
Documentação Java para java.util.Arrays.deepHashCode(java.lang.Object[])
.
Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.