Поделиться через


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. Поэтому недопустимо вызывать этот метод в массиве, который содержит себя как элемент, напрямую или косвенно через один или несколько уровней массивов. Поведение такого вызова не определено.

Для всех двух массивов и b таких Arrays.deepEquals(a, b)массивов a это также относится к тому, чтоArrays.deepHashCode(a) == Arrays.deepHashCode(b).

Вычисление значения, возвращаемого этим методом, аналогично значению, возвращаемого List#hashCode() списком, содержащим те же элементы, что a и в том же порядке, с одним отличием: если элемент ea сам массив, его хэш-код вычисляется не путем вызова, а путем вызова e.hashCode()соответствующей перегрузки Arrays.hashCode(e) , если e массив примитивного типа, или путем вызова Arrays.deepHashCode(e) рекурсивно, если e массив ссылочного типа. В a противном случае nullэтот метод возвращает значение 0.

Добавлено в версии 1.5.

Документация по Java для java.util.Arrays.deepHashCode(java.lang.Object[]).

Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.

Применяется к