public interface Name extends Cloneable, Serializable, Comparable<Object>
可以有不同的实现Name ; 例如,复合名称,URL或命名空间特定的复合名称。
名称的组成部分被编号。 具有N个分量的名称的索引范围从0到但不包括N。该范围可以写为[0,N]。 最重要的组件是索引0.空名称没有组件。
此接口中的任何方法都不接受null作为名称或名称组件的参数的有效值。 同样,返回名称或名称组件的方法也不会返回null。
如果该访问不是只读,那么Name的实例可能不会与并发多线程访问同步。
Modifier and Type | Field and Description |
---|---|
static long |
serialVersionUID
类指纹被设置为指示与以前版本的类的序列化兼容性。
|
Modifier and Type | Method and Description |
---|---|
Name |
add(int posn, String comp)
在此名称中的指定位置添加单个组件。
|
Name |
add(String comp)
将单个组件添加到此名称的末尾。
|
Name |
addAll(int posn, Name n)
在名称中的指定位置添加名称的组件。
|
Name |
addAll(Name suffix)
将名称的组件按顺序添加到该名称的末尾。
|
Object |
clone()
生成一个这个名字的新副本。
|
int |
compareTo(Object obj)
将此名称与其他名称进行比较以进行订购。
|
boolean |
endsWith(Name n)
确定此名称是否以指定的后缀结尾。
|
String |
get(int posn)
检索此名称的组件。
|
Enumeration<String> |
getAll()
检索此名称的组件作为字符串的枚举。
|
Name |
getPrefix(int posn)
创建一个名称,其组件由此名称的组件的前缀组成。
|
Name |
getSuffix(int posn)
创建一个名称,其组件由此名称中的组件的后缀组成。
|
boolean |
isEmpty()
确定此名称是否为空。
|
Object |
remove(int posn)
从此名称中删除组件。
|
int |
size()
返回此名称中的组件数。
|
boolean |
startsWith(Name n)
确定此名称是否以指定的前缀开头。
|
static final long serialVersionUID
Object clone()
Object.clone()
int compareTo(Object obj)
与Object.equals()一样 ,命名的概念取决于实现此接口的类。 例如,排序可以基于名称组件的字典排序。 名称的具体属性,例如它如何处理大小写,可能会影响排序。 一般来说,不同类别的两个名称可能不会被比较。
compareTo
在界面
Comparable<Object>
obj
- 要比较的非空对象。
ClassCastException
- 如果obj不是可以与此名称进行比较的类型的
Name
Comparable.compareTo(Object)
int size()
boolean isEmpty()
Enumeration<String> getAll()
String get(int posn)
posn
- 要检索的组件的基于0的索引。
必须在[0,size())范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
Name getPrefix(int posn)
posn
- 要停止的组件的基于0的索引。
必须在[0,size()]范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
Name getSuffix(int posn)
posn
- 要开始的组件的基于0的索引。
必须在[0,size()]范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
boolean startsWith(Name n)
n
- 要检查的名称
boolean endsWith(Name n)
n
- 要检查的名称
Name addAll(Name suffix) throws InvalidNameException
suffix
- 要添加的组件
InvalidNameException
- 如果
suffix不是有效的名称,或者添加组件将违反此名称的语法规则
Name addAll(int posn, Name n) throws InvalidNameException
n
- 要添加的组件
posn
- 此名称中添加新组件的索引。
必须在[0,size()]范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
InvalidNameException
- 如果
n不是有效的名称,或者添加组件将违反此名称的语法规则
Name add(String comp) throws InvalidNameException
comp
- 要添加的组件
InvalidNameException
- 如果添加
comp将违反此名称的语法规则
Name add(int posn, String comp) throws InvalidNameException
comp
- 要添加的组件
posn
- 添加新组件的索引。
必须在[0,size()]范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
InvalidNameException
- 如果添加
comp将违反此名称的语法规则
Object remove(int posn) throws InvalidNameException
posn
- 要删除的组件的索引。
必须在[0,size())范围内。
ArrayIndexOutOfBoundsException
- 如果posn在指定范围之外
InvalidNameException
- 如果删除组件将违反名称的语法规则