锁定老帖子 主题:谈谈String和StringBuffer
该帖已经被评为隐藏帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-13
String类和StringBuffer类主要用来处理字符串的。 两个类提供了很多字符串的实用处理方法。 String类是不可变的,一个String对象包含的字符串内容是永远不会被改变的 StringBuffer类是可变类,一个StringBuffer对象所包含的字符串内内容可以被添加和修改。 String类的常用方法: 1: length(): 返回字符串的个数 2:char charAt(int index): 返回字符串index位置上的字符。 3:getChars(int srcBegin,int srcEnd,char dst[ ] ,int dstbegin): 从当前的字符串拷贝若干字符到参数 指定的字符数组 dst[ ] 中。 从srcBegin位置开始取字符,到srcEnd -1位置结束,dstbegin 为提取字符 存放到字符数组中的起始位置。如果参数 dst 为null ,则会抛出 “空指针”异常 。 String s="0123456";
4: equals(object str)和 equalsIgnoreCase(object str): 判断两个字符串对象的内容是否相同。 两个方法的区别在于:equalsIgnoreCase(object str)方法不区分字母的大小写,而equals (object str)方法则区分字母的大小写。 5:indexOf() 和lastIndexOf(): 在字符串中检索特定字符或子字符串。 前者从字符串的首位开始查找, 后者从字符串的末尾开始查找。如果找到,就返回匹配的“位置”。 6: concat(String str): 把字符 str 附加在当前字符串的末尾。这个方法不会改变字符串的内容。 7:substring(); 返回一个字符串的一个子字符串,两种重载形式: public String substring(int beginIndex) public String substring(int beinIndex, int endIndex) 8: replace(String a, String b) : 讲字符串的 a 替换成为 b . replaceAll(String regex, String replacement) : 替换源字符串中所有的 regex. 9: trim(): 把字符串首尾的空格删除。 10: String valueOf() : 把基本类型转换为 Sting 类型 注: String 类提供的方法,丢更改字符串的都是产生一个新的子字符串,并不会更改源字符串的内 容。
StingBuffer 类: StringBuffer类表示字符串缓存。 常用方法: 1: length() : 返回字符串的字符个数。 用户和 String 类相同 2:append(); 向缓存区添加新的字符串 3:toString(); 返回缓存区内的字符串。 4:charAt(int index) 和 setCharAt(int index, char ch): 前者用法与 String 类的相同。 后者则在字符串中的index 位置放置字符 ch . 5: getChars(int srcBegin,int srcEnd,char dst[ ] ,int dstbegin): 用法和 String 类一样 6:substring() : 用法和String 类一样。 7 : insert(int offset , String str) : 字符串中的 offset 位置插入字符串 str .
String 类 和 StringBuffer 类的比较: 相同: 1: 都是用来处理字符串的 2:都提供了 length() , toString() ,charAt() , substring() 方法 ,用法一样 3:对于String 类 和 StringBuffer 类,字符在字符串中的索引位置都从 0 开始。 4:两个类的 substring( int beginIndex, int endIndex)方法都是用来截取字符串,且范围都是从 beginIndex 开始, 到 endIndex--1 为止。 不同: 1: String 类 是不可变类 , StringBuffer 类 是可变类 String 类提供的 比如 substring ,replace 等方法 都不会更改字符串内容,实际上是创建一个方法 所浮于特性的新字符串。 返回一个改变后内容的新字符串。 StringBuffer 的 appeng(),等方法都会改变字符缓冲区中的字符串内容。 2: String 类 覆盖了Object类的 equals()方法 StringBuffer类没有覆盖 3: 都覆盖了Object()类的 toString() 方法,实现不一样 String类的toString() 方法返回当前String实例本身的引用。 StringBuffer类的toString方法返回一个以当前StringBuffer的缓冲区中的所有字符串为内容的新的 String对象的引用。 4: String 对象可以用 操作符 "+ " 进行连接 StringBuffer 不能 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 2063 次