public class CompositeName extends Object implements Name
复合名称的组件被编号。n个组件的复合名称的索引范围从0到,但不包括,这个范围可以写为[ 0,n)。最重要的组成部分是指数0。一个空的复合名称没有组件。
当两个组合的名称进行比较时,字符的情况下是显着的。
一个领先的组件分隔符(复合名称字符串开头有一个分隔符)表示一个主要的空组件(一个空字符串组成的组件)。一个尾随组件分隔符(复合名称字符串以分隔符结尾)表示一个尾随的空组件。相邻的组件分隔符表示一个空组件。
String Name | CompositeName |
---|---|
"" | {} (the empty name == new CompositeName("") == new CompositeName()) |
"x" | {"x"} |
"x/y" | {"x", "y"} |
"x/" | {"x", ""} |
"/x" | {"", "x"} |
"/" | {""} |
"//" | {"", ""} |
"/x/" | {"", "x", ""} |
"x//y" | {"x", "", "y"} |
String Names | CompositeNames |
---|---|
"x/y" + "/" = x/y/ | {"x", "y"} + {""} = {"x", "y", ""} |
"" + "x" = "x" | {} + {"x"} = {"x"} |
"/" + "x" = "/x" | {""} + {"x"} = {"", "x"} |
"x" + "" + "" = "x" | {"x"} + {} + {} = {"x"} |
Modifier | Constructor and Description |
---|---|
|
CompositeName()
构造一个新的空复合名称。
|
protected |
CompositeName(Enumeration<String> comps)
利用“谱曲”指定的组件构建了一种新的复合名称的实例。
|
|
CompositeName(String n)
通过使用复合名称语法(左到右)解析字符串,构造一个新的复合名称实例(左到右)。
|
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)
这compositename与指定对象按顺序比较。
|
boolean |
endsWith(Name n)
确定复合名称是否为该复合名称的后缀。
|
boolean |
equals(Object obj)
确定两个复合名称是否相等。
|
String |
get(int posn)
检索此复合名称的一个组件。
|
Enumeration<String> |
getAll()
检索此复合名称的组件作为字符串的枚举。
|
Name |
getPrefix(int posn)
创建一个复合名,其组件由该复合名称中的组件的前缀组成。
|
Name |
getSuffix(int posn)
创建一个复合名,其组件由该复合名称中的组件的后缀组成。
|
int |
hashCode()
计算该复合名的哈希代码。
|
boolean |
isEmpty()
确定该复合名称是否为空。
|
Object |
remove(int posn)
从这个复合名称中删除一个组件。
|
int |
size()
检索此复合名称中的组件的数量。
|
boolean |
startsWith(Name n)
确定复合名称是否为该复合名称的前缀。
|
String |
toString()
生成此复合名称的字符串表示形式。
|
protected CompositeName(Enumeration<String> comps)
comps
-含新型复合名称的组件的非零计数。每个元素都是类字符串的。枚举将被消耗以提取其元素。
public CompositeName(String n) throws InvalidNameException
n
-非空字符串解析。
InvalidNameException
如果N复合名称语法无效。
public CompositeName()
isEmpty()
调用它。
public String toString()
public boolean equals(Object obj)
equals
方法重写,继承类
Object
obj
-比较可能的空对象。
hashCode()
public int hashCode()
hashCode
方法重写,继承类
Object
equals(java.lang.Object)
public int compareTo(Object obj)
如果对象是无效的或不compositename实例,抛出ClassCastException。
看到等于两组合的名字意味着什么equals()。如果两个复合名是相等的,则返回0。
复合名称排序如下字符串比较的编纂规则,这种适用于复合名称的所有组件的扩展。效果就好像所有的成分都排在其指定的命令在两线UPS应用词典学的规则。如果这个组合的名字是“字典”小于obj,返回一个负数。如果这个组合的名字是“字典”大于obj,正数返回。
compareTo
接口
Comparable<Object>
compareTo
接口
Name
obj
-非null对象比较。
ClassCastException
如果obj是不compositename。
Comparable.compareTo(Object)
public Object clone()
public boolean isEmpty()
public Enumeration<String> getAll()
public String get(int posn)
get
接口
Name
posn
- 0的构件检索索引。必须在范围[ 0,size())。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内。
public Name getPrefix(int posn)
getPrefix
接口
Name
posn
- 0指数的成分停止。必须在范围[ 0 ],size()。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内。
public Name getSuffix(int posn)
getSuffix
接口
Name
posn
- 0开始索引处的组件开始。必须在范围[ 0 ],size()。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内。
public boolean startsWith(Name n)
startsWith
接口
Name
n
-可能的空名检查。
public boolean endsWith(Name n)
public Name addAll(Name suffix) throws InvalidNameException
addAll
接口
Name
suffix
-非零组件添加。
InvalidNameException
-如果不是复合名称后缀。
public Name addAll(int posn, Name n) throws InvalidNameException
addAll
接口
Name
n
-非零组件添加。
posn
-这个名字的索引添加新组件。必须在范围[ 0 ],size()。
InvalidNameException
如果n不是一个复合的名字。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内。
public Name add(String comp) throws InvalidNameException
add
接口
Name
comp
-非零组件添加。
InvalidNameException
如果加入公司最后的名字会违反名称的语法。
public Name add(int posn, String comp) throws InvalidNameException
add
接口
Name
comp
-非零组件添加。
posn
-的索引添加新组件。必须在范围[ 0 ],size()。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内。
InvalidNameException
如果加入公司的指定位置处将违反名称的语法。
public Object remove(int posn) throws InvalidNameException
remove
接口
Name
posn
-组件删除索引。必须在范围[ 0,size())。
ArrayIndexOutOfBoundsException
如果位置是在指定范围内(包括在复合名称是空的)。
InvalidNameException
如果删除组件会违反名称的语法。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.