AbstractPreferences.Node(String) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
依照 中的node規範實作該Preferences#node(String)方法。
[Android.Runtime.Register("node", "(Ljava/lang/String;)Ljava/util/prefs/Preferences;", "GetNode_Ljava_lang_String_Handler")]
public override Java.Util.Prefs.Preferences? Node(string? path);
[<Android.Runtime.Register("node", "(Ljava/lang/String;)Ljava/util/prefs/Preferences;", "GetNode_Ljava_lang_String_Handler")>]
override this.Node : string -> Java.Util.Prefs.Preferences
參數
- path
- String
要回傳的偏好節點的路徑名稱。
傳回
指定的偏好節點。
- 屬性
備註
依照 中的node規範實作該Preferences#node(String)方法。
此實作會取得該偏好節點的鎖定,並檢查該節點是否已被移除。 若 path 為 "",則返回該節點;若 path 為 "/",則返回該節點的根節點。 若 中的 path 第一個字元不是 '/',實作會 path 拆分成標記,並遞迴地從該節點遍歷到指定節點的路徑,並在遍歷的每一步「消耗」一個名稱與一個斜線 path 。 每一步,當前節點被鎖定,並檢查該節點的子快取是否存在該命名節點。 若找不到,則檢查名稱長度不超過 MAX_NAME_LENGTH。 接著會呼叫該 #childSpi(String) 方法,並將結果儲存在該節點的子快取中。 如果新建立 Preferences 的物件 #newNode 欄位是, true 且有任何節點變更監聽器,則事件派遣執行緒會排隊處理通知事件。
當沒有其他標記時,此方法會回傳子快取中最後一個或回 childSpi 傳的值。 若在穿越過程中連續出現兩個 "/" 標記,或最後一個標記是 "/" (而非名稱),則會拋出適當的 IllegalArgumentException 標記。
若 的 path 第一個字元為 '/' (表示絕對路徑名稱),則該偏好節點的鎖在拆分 path 標記前會被丟棄,此方法會遞迴地從根節點開始(而非從該節點開始)遍歷路徑。 其餘遍歷與相對路徑名稱所描述的完全相同。 根據 ,在從根節點開始遍歷前,必須先解除該節點的鎖定,以避免死鎖 #lock locking invariant的可能性。
Java 文件 java.util.prefs.AbstractPreferences.node(java.lang.String)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。