Java核心技术卷I基础知识3.6.7 String API

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类型的实参。

时间: 2024-10-18 15:04:32

Java核心技术卷I基础知识3.6.7 String API的相关文章

Java核心技术卷I基础知识3.7.3 文件输入与输出

3.7.3 文件输入与输出 要想对文件进行读取,就需要一个用File对象构造一个Scanner对象,如下所示:   如果文件名中包含反斜杠符号,就要记住在每个反斜杠之前再加一个额外的反斜杠: "c:\\mydirectory\\myf?ile.txt".       注释:在这里指定了UTF-8字符编码,这对于互联网上的文件很常见(不过并不是普遍适用).读取一个文本文件时,要知道它的字符编码--更多信息参见卷Ⅱ第2章.如果省略字符编码,则会使用运行这个Java程序的机器的"默

Java核心技术卷I基础知识1.5 关于Java的常见误解

1.5 关于Java的常见误解 在结束本章之前,我们列出了一些关于Java的常见误解,同时给出了解释. 1.?Java是HTML的扩展 Java是一种程序设计语言:HTML是一种描述网页结构的方式.除了用于在网页上放置Java applet的HTML扩展之外,两者没有任何共同之处. 2.?使用XML,所以不需要Java Java是一种程序设计语言:XML是一种描述数据的方式.可以使用任何一种程序设计语言处理XML数据,而Java API对XML处理提供了很好的支持.此外,许多重要的第三方XML工

Java核心技术卷I基础知识3.1 一个简单的Java应用程序

第3章 Java的基本程序设计结构 ▲  一个简单的Java应用程序     ▲  字符串 ▲  注释                      ▲  输入输出 ▲  数据类型               ▲  控制流 ▲  变量                      ▲  大数值 ▲  运算符                  ▲  数组   现在,假定已经成功地安装了JDK,并且能够运行第2章中给出的示例程序.我们从现在开始将介绍Java应用程序设计.本章主要介绍程序设计的基本概念(如数

Java核心技术卷I基础知识1.2.1 简单性

1.2.1 简单性 人们希望构建一个无须深奥的专业训练就可以进行编程的系统,并且要符合当今的标准惯例.因此,尽管人们发现C++不太适用,但在设计Java的时候还是尽可能地接近C++,以便系统更易于理解.Java剔除了C++中许多很少使用.难以理解.易混淆的特性.在目前看来,这些特性带来的麻烦远远多于其带来的好处. 的确,Java语法是C++语法的一个"纯净"版本.这里没有头文件.指针运算(甚至指针语法).结构.联合.操作符重载.虚基类等(请参阅本书各个章节给出的C++注释,其中比较详细

Java核心技术卷I基础知识3.7.2 格式化输出

3.7.2 格式化输出 可以使用System.out.print(x)将数值x输出到控制台上.这条命令将以x对应的数据类型所允许的最大非0数字位数打印输出x.例如:   打印   如果希望显示美元.美分等符号,则有可能会出现问题. 在早期的Java版本中,格式化数值曾引起过一些争议.庆幸的是,Java SE 5.0沿用了C语言库函数中的printf方法.例如,调用   可以用8个字符的宽度和小数点后两个字符的精度打印x.也就是说,打印输出一个空格和7个字符,如下所示:   在printf中,可以

Java核心技术卷I基础知识3.8.5 多重选择:switch语句

3.8.5 多重选择:switch语句 在处理多个选项时,使用if/else结构显得有些笨拙.Java有一个与C/C++完全一样的switch语句. 例如,如果建立一个如图3-13所示的包含4个选项的菜单系统,可以使用下列代码:   switch语句将从与选项值相匹配的case标签处开始执行直到遇到break语句,或者执行到switch语句的结束处为止.如果没有相匹配的case标签,而有default子句,就执行这个子句.       警告:有可能触发多个case分支.如果在case分支语句的末

Java核心技术卷I基础知识3.6.6 码点与代码单元

3.6.6 码点与代码单元 Java字符串由char值序列组成.从3.3.3节"char类型"已经看到,char数据类型是一个采用UTF-16编码表示Unicode码点的代码单元.大多数的常用Unicode字符使用一个代码单元就可以表示,而辅助字符需要一对代码单元表示. length方法将返回采用UTF-16编码表示的给定字符串所需要的代码单元数量.例如:   要想得到实际的长度,即码点数量,可以调用:   调用s.charAt(n)将返回位置n的代码单元,n介于0-s.length(

Java核心技术卷I基础知识3.3.2 浮点类型

3.3.2 浮点类型 浮点类型用于表示有小数部分的数值.在Java中有两种浮点类型,具体内容如表3-2所示. 表3-2 浮点类型 类型     存储需求     取值范围 f?loat    4字节   大约±3.402 823 47E+38F(有效位数为6-7位) double  8字节   大约±1.797 693 134 862 315 70E+308(有效位数为15位)   double表示这种类型的数值精度是f?loat类型的两倍(有人称之为双精度数值).绝大部分应用程序都采用doub

Java核心技术卷I基础知识2.5 构建并运行applet

2.5 构建并运行applet 本书给出的前两个程序是Java应用程序.它们与所有本地程序一样,是独立的程序.然而,正如第1章提到的,有关Java的大量宣传都在炫耀Java在浏览器中运行applet的能力.如果你对"过去的记忆"感兴趣,可以继续阅读下面的内容来了解如何构建和运行一个applet,以及如何在Web浏览器中显示:如果你不感兴趣,完全可以跳过这个例子,直接转到第3章. 首先,打开终端窗口并转到CoreJava/v1ch02/RoadApplet,然后,输入下面的命令:   图