3.6.7 String API
Java中的String类包含了50多个方法。令人惊讶的是绝大多数都很有用,可以设想使用的频繁非常高。下面的API注释汇总了一部分最常用的方法。
注释:可以发现,本书中给出的API注释会有助于理解Java应用程序编程接口(API)。每一个API的注释都以形如java.lang.String的类名开始。(java.lang包的重要性将在第4章给出解释。)类名之后是一个或多个方法的名字、解释和参数描述。
在这里,一般不列出某个类的所有方法,而是选择一些最常用的方法,并以简洁的方式给予描述。完整的方法列表请参看联机文档(请参看3.6.8节)。
这里还列出了所给类的版本号。如果某个方法是在这个版本之后添加的,就会给出一个单独的版本号。
java.lang.string
1.0
char charAt (int
index)
返回给定位置的代码单元。除非对底层的代码单元感兴趣,否则不需要调用这个方法。
int
codePointAt(int index) 5.0
返回从给定位置开始的码点。
int
offsetByCodePoints(int startIndex, int cpCount) 5.0
返回从startIndex代码点开始,位移cpCount后的码点索引。
int
compareTo(String other)
按照字典顺序,如果字符串位于other之前,返回一个负数;如果字符串位于other之后,返回一个正数;如果两个字符串相等,返回0。
IntStream
codePoints() 8
将这个字符串的码点作为一个流返回。调用toArray将它们放在一个数组中。
new String(int[]
codePoints, int offset, int count) 5.0
用数组中从offset开始的count个码点构造一个字符串。
boolean
equals(Object other)
如果字符串与other相等,返回true。
boolean
equalsIgnoreCase(String other)
如果字符串与other相等(忽略大小写),返回true。
boolean
startsWith(String pref?ix)
boolean
endsWith(String suff?ix)
如果字符串以suff?ix开头或结尾,则返回true。
int
index0f(String str)
int
index0f(String str, int fromIndex)
int index0f(int
cp)
int index0f(int
cp, int fromIndex)
返回与字符串str或代码点cp匹配的第一个子串的开始位置。这个位置从索引0或fromIndex开始计算。如果在原始串中不存在str,返回-1。
int lastIndex0f(String
str)
int
lastIndex0f(String str, int fromIndex)
int
lastindex0f(int cp)
int
lastindex0f(int cp, int fromIndex)
返回与字符串str或代码点cp匹配的最后一个子串的开始位置。这个位置从原始串尾端或fromIndex开始计算。
int length( )
返回字符串的长度。
int
codePointCount(int startIndex, int endIndex) 5.0
返回startIndex和endIndex-1之间的代码点数量。没有配成对的代用字符将计入代码点。
String
replace(CharSequence oldString,CharSequence newString)
返回一个新字符串。这个字符串用newString代替原始字符串中所有的oldString。可以用String或StringBuilder对象作为CharSequence参数。
String
substring(int beginIndex)
String
substring(int beginIndex, int endIndex)
返回一个新字符串。这个字符串包含原始字符串中从beginIndex到串尾或endIndex–1的所有代码单元。
String
toLowerCase( )
String
toUpperCase( )
返回一个新字符串。这个字符串将原始字符串中的大写字母改为小写,或者将原始字符串中的所有小写字母改成了大写字母。
String trim( )
返回一个新字符串。这个字符串将删除了原始字符串头部和尾部的空格。
String
join(CharSequence delimiter, CharSequence... elements) 8
返回一个新字符串,用给定的定界符连接所有元素。
注释:在API注释中,有一些CharSequence类型的参数。这是一种接口类型,所有字符串都属于这个接口。第6章将介绍更多有关接口类型的内容。现在只需要知道只要看到一个CharSequence形参,完全可以传入String类型的实参。