这里总结一下同时适用于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()方法采用类似的形式。这两个方法都能对缓冲区进行重要的操作,不需要另建新对象。
¥498.00
¥299.00
¥399.00
¥29.00