Arrays.DeepHashCode(Object[]) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據指定陣列的「深層內容」傳回哈希碼。
[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。 因此,在包含本身為元素的陣列上叫用此方法是無法接受的,無論是直接或間接透過一或多個數位級。 這類調用的行為未定義。
針對任何兩個陣列a
,b
Arrays.deepEquals(a, b)
因此也是 。Arrays.deepHashCode(a) == Arrays.deepHashCode(b)
這個方法所傳回之值的計算,類似於清單上傳回List#hashCode()
的值,其中包含與相同順序相同的元素a
,但有一個差異:如果 的元素e
a
本身是數位,則其哈希程式代碼不是藉由呼叫 e.hashCode()
來計算,而是藉由呼叫適當的多載Arrays.hashCode(e)
,如果 e
是基本類型的數位, 如果為引用類型的陣列,則為遞迴e
呼叫 Arrays.deepHashCode(e)
。 如果 a
為 null
,這個方法會傳回 0。
已在1.5中新增。
的 java.util.Arrays.deepHashCode(java.lang.Object[])
Java 檔。
此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。