共用方式為


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。 因此,在包含本身為元素的陣列上叫用此方法是無法接受的,無論是直接或間接透過一或多個數位級。 這類調用的行為未定義。

針對任何兩個陣列abArrays.deepEquals(a, b)因此也是 。Arrays.deepHashCode(a) == Arrays.deepHashCode(b)

這個方法所傳回之值的計算,類似於清單上傳回List#hashCode()的值,其中包含與相同順序相同的元素a,但有一個差異:如果 的元素ea本身是數位,則其哈希程式代碼不是藉由呼叫 e.hashCode()來計算,而是藉由呼叫適當的多載Arrays.hashCode(e),如果 e 是基本類型的數位, 如果為引用類型的陣列,則為遞迴e呼叫 Arrays.deepHashCode(e) 。 如果 anull,這個方法會傳回 0。

已在1.5中新增。

java.util.Arrays.deepHashCode(java.lang.Object[])Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於