熟悉java.lang包-2(八、字符串处理相关类)
2008-10-17 12:35
471 查看
八、字符串处理相关类
String类:public final class String implements java.io.Serializable, Comparable<String>, CharSequence
StringBuffer类: public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence
共同点:都是final类,不可以被继承
都实现了java.io.Serializable, CharSequence接口
不同点:
1 String类实现了Comparable接口,所以有compareTo()方法,StringBuffer类没有实现Comparable接口,没有compareTo()方法。
所以涉及到字符串比较的时候,要使用String类,不要使用StringBuffer类。
compareTo()方法实现两个字符串对象的关系,大于,等于,小于,返回值为int类型的。
2 String类用于不发生改变的字符串,即固定内容的字符串对象;
StringBuffer类用于内容不固定的字符串对象,它提供的append(),delete(),replace(),insert()方法对处理非固定字符串对象十分方便。
所以处理内容固定的字符串对象时候,使用String类,处理内容不固定的字符串对象时,使用StringBuffer类。
3 String类重写了Object类的equals()方法,可以直接用来比较两个字符串的内容是否相等;
StringBuffer类没有重写Object类的equals()方法,不可以直接用来比较两个字符串内容是否相等;
4 String类实例化对象可以通过:String str = "abvf"; 方式进行
StringBuffer类却不可以,可以通过StringBuffer strbuf = new StringBuffer("abvf"); 方式进行。
详细说明下:
StringBuffer类:提供的方法
1 用于处理字符串内容的append(),delete(),replace(),insert()方法
2 取字符串长度length()方法
3 获得指定位置的字符charAt()方法
4 取子串substring()方法
5 返回 String 对象内第一次出现子字符串的字符位置indexOf(),lastIndexOf()方法
6 字符串反转reverse()方法
String类:提供的方法
1 取字符串长度length()方法
2 判断字符串是否为空isEmpty()方法
3 获得指定位置的字符charAt()方法
4 忽略大小写的字符串比较equalsIgnoreCase()方法
5 判断开头和结尾的字符startsWith(),endsWith()方法
6 返回 String 对象内第一次出现子字符串的字符位置indexOf(),lastIndexOf()方法
7 取子串substring()方法
8 字符串连接concat()方法,字符替换replace(),字符串替换replace(), 字符串分割split(), 大小写转换toLowerCase(Locale),toUpperCase(),删除空格trim(),转换为字符数组toCharArray(),格式化format()方法
9 类型转换valueOf()方法
总结一下吧:String类提供了更多的对字符串操作的方法,不过前提是对固定内容的字符串对象。
String类:public final class String implements java.io.Serializable, Comparable<String>, CharSequence
StringBuffer类: public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence
共同点:都是final类,不可以被继承
都实现了java.io.Serializable, CharSequence接口
不同点:
1 String类实现了Comparable接口,所以有compareTo()方法,StringBuffer类没有实现Comparable接口,没有compareTo()方法。
所以涉及到字符串比较的时候,要使用String类,不要使用StringBuffer类。
compareTo()方法实现两个字符串对象的关系,大于,等于,小于,返回值为int类型的。
2 String类用于不发生改变的字符串,即固定内容的字符串对象;
StringBuffer类用于内容不固定的字符串对象,它提供的append(),delete(),replace(),insert()方法对处理非固定字符串对象十分方便。
所以处理内容固定的字符串对象时候,使用String类,处理内容不固定的字符串对象时,使用StringBuffer类。
3 String类重写了Object类的equals()方法,可以直接用来比较两个字符串的内容是否相等;
StringBuffer类没有重写Object类的equals()方法,不可以直接用来比较两个字符串内容是否相等;
4 String类实例化对象可以通过:String str = "abvf"; 方式进行
StringBuffer类却不可以,可以通过StringBuffer strbuf = new StringBuffer("abvf"); 方式进行。
详细说明下:
StringBuffer类:提供的方法
1 用于处理字符串内容的append(),delete(),replace(),insert()方法
2 取字符串长度length()方法
3 获得指定位置的字符charAt()方法
4 取子串substring()方法
5 返回 String 对象内第一次出现子字符串的字符位置indexOf(),lastIndexOf()方法
6 字符串反转reverse()方法
String类:提供的方法
1 取字符串长度length()方法
2 判断字符串是否为空isEmpty()方法
3 获得指定位置的字符charAt()方法
4 忽略大小写的字符串比较equalsIgnoreCase()方法
5 判断开头和结尾的字符startsWith(),endsWith()方法
6 返回 String 对象内第一次出现子字符串的字符位置indexOf(),lastIndexOf()方法
7 取子串substring()方法
8 字符串连接concat()方法,字符替换replace(),字符串替换replace(), 字符串分割split(), 大小写转换toLowerCase(Locale),toUpperCase(),删除空格trim(),转换为字符数组toCharArray(),格式化format()方法
9 类型转换valueOf()方法
总结一下吧:String类提供了更多的对字符串操作的方法,不过前提是对固定内容的字符串对象。
相关文章推荐
- java 使用与字符串相关的类来处理数据
- 熟悉JAVA反射后,来偷懒做些事情字符串处理的事情
- 使用Axis2报"An error occurred while completing process -java.lang.reflect.InvocationTargetException"处理
- JAVA.LANG.OUTOFMEMORYERROR: JAVA HEAP SPACE错误及处理办法
- Cas_Java客户端登录相关过滤器的处理流程
- JAVA字符串处理(首字母大写、反转、数字字母_分隔)
- 字符串处理相关
- Android NDK (学习笔记五) —— java层和native层进行字符串的交互处理
- linux下文件的读写操作、字符串的处理操作,多线程操作等相关函数使用说明
- java字符串处理总结
- 重写java.lang.String IndexOf()方法,实现对字符串以ASCII规则截取
- 第六章[Java字符串处理]
- 华为上机 字符串合并处理 java
- java字符串类型的日期处理问题
- java8_api_字符串处理
- PHP字符串处理相关函数
- java.lang.NullPointerException 错误处理
- Python中处理字符串的相关的len()方法的使用简介
- Java字符串处理String、StringBuilder、StringBuffer类效率分析
- java.lang.ClassCastException:org.apache.harmony.luni.internal.net.www.protocol.http...错误处理