AbstractPreferences.Node(String) 方法

定义

根据规范实现Preferences#node(String)该方法node

[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

要返回的首选项节点的路径名称。

返回

指定的首选项节点。

属性

注解

根据规范实现Preferences#node(String)该方法node

此实现获取此首选项节点的锁,并检查该节点是否已删除。 ""如果是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)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于