返回介绍

12.4.4 String 和 StringBuffer 类

发布于 2024-10-15 23:56:27 字数 2656 浏览 0 评论 0 收藏 0

这里总结一下同时适用于 String 和 StringBuffer 的方法,以便对它们相互间的沟通方式有一个印象。这些表格并未把每个单独的方法都包括进去,而是包含了与本次讨论有重要关系的方法。那些已被覆盖的方法用单独一行总结。

首先总结 String 类的各种方法:

方法 自变量,覆盖 用途

构建器 已被覆盖:默认,String,StringBuffer,char 数组,byte 数组 创建 String 对象

length() 无 String 中的字符数量

charAt() int Index 位于 String 内某个位置的 char

getChars(),getBytes 开始复制的起点和终点,要向其中复制内容的数组,对目标数组的一个索引 将 char 或 byte 复制到外部数组内部

toCharArray() 无 产生一个 char[],其中包含了 String 内部的字符

equals(),equalsIgnoreCase() 用于对比的一个 String 对两个字串的内容进行等价性检查

compareTo() 用于对比的一个 String 结果为负、零或正,具体取决于 String 和自变量的字典顺序。注意大写和小写不是相等的!

regionMatches() 这个 String 以及其他 String 的位置偏移,以及要比较的区域长度。覆盖加入了“忽略大小写”的特性 一个布尔结果,指出要对比的区域是否相同

startsWith() 可能以它开头的 String。覆盖在自变量里加入了偏移 一个布尔结果,指出 String 是否以那个自变量开头

endsWith() 可能是这个 String 后缀的一个 String 一个布尔结果,指出自变量是不是一个后缀

indexOf(),lastIndexOf() 已覆盖:char,char 和起始索引,String,String 和起始索引 若自变量未在这个 String 里找到,则返回-1;否则返回自变量开始处的位置索引。lastIndexOf() 可从终点开始回溯搜索

substring() 已覆盖:起始索引,起始索引和结束索引 返回一个新的 String 对象,其中包含了指定的字符子集

concat() 想连结的 String 返回一个新 String 对象,其中包含了原始 String 的字符,并在后面加上由自变量提供的字符

relpace() 要查找的老字符,要用它替换的新字符 返回一个新 String 对象,其中已完成了替换工作。若没有找到相符的搜索项,就沿用老字串

toLowerCase(),toUpperCase() 无 返回一个新 String 对象,其中所有字符的大小写形式都进行了统一。若不必修改,则沿用老字串

trim() 无 返回一个新的 String 对象,头尾空白均已删除。若毋需改动,则沿用老字串

valueOf() 已覆盖:object,char[],char[]和偏移以及计数,boolean,char,int,long,float,double 返回一个 String,其中包含自变量的一个字符表现形式

Intern() 无 为每个独一无二的字符顺序都产生一个(而且只有一个)String 句柄

可以看到,一旦有必要改变原来的内容,每个 String 方法都小心地返回了一个新的 String 对象。另外要注意的一个问题是,若内容不需要改变,则方法只返回指向原来那个 String 的一个句柄。这样做可以节省存储空间和系统开销。

下面列出有关 StringBuffer(字串缓冲)类的方法:

方法 自变量,覆盖 用途

构建器 已覆盖:默认,要创建的缓冲区长度,要根据它创建的 String 新建一个 StringBuffer 对象

toString() 无 根据这个 StringBuffer 创建一个 String

length() 无 StringBuffer 中的字符数量

capacity() 无 返回目前分配的空间大小

ensureCapacity() 用于表示希望容量的一个整数 使 StringBuffer 容纳至少希望的空间大小

setLength() 用于指示缓冲区内字串新长度的一个整数 缩短或扩充前一个字符串。如果是扩充,则用 null 值填充空隙

charAt() 表示目标元素所在位置的一个整数 返回位于缓冲区指定位置处的 char

setCharAt() 代表目标元素位置的一个整数以及元素的一个新 char 值 修改指定位置处的值

getChars() 复制的起点和终点,要在其中复制的数组以及目标数组的一个索引 将 char 复制到一个外部数组。和 String 不同,这里没有 getBytes() 可供使用

append() 已覆盖:Object,String,char[],特定偏移和长度的 char[],boolean,char,int,long,float,double 将自变量转换成一个字串,并将其追加到当前缓冲区的末尾。若有必要,同时增大缓冲区的长度

insert() 已覆盖,第一个自变量代表开始插入的位置:Object,String,char[],boolean,char,int,long,float,double 第二个自变量转换成一个字串,并插入当前缓冲区。插入位置在偏移区域的起点处。若有必要,同时会增大缓冲区的长度

reverse() 无 反转缓冲内的字符顺序

最常用的一个方法是 append()。在计算包含了+和+=运算符的 String 表达式时,编译器便会用到这个方法。insert() 方法采用类似的形式。这两个方法都能对缓冲区进行重要的操作,不需要另建新对象。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文