【概念解析二】String 和 StringBuffer的使用区别和场合

来源:互联网 发布:如何提高记忆力 知乎 编辑:程序博客网 时间:2024/05/29 19:02
      我分几个部分,用自己的学习过程来解释一下:
      ①String类用来表示那些创建后就不会再改变的字符串,它是immutable的。而StringBuffer类用来表示内容可变的字符串,

      并提供了修改底层字符串的方法;


      ②String类的功能:String 类提供了丰富的字符串操作方法,其中重要的例举如下:

一、创建:
String 类提供了几种字符串创建方法。

String s = "abcd" 使用字符串常量自动创建String实例。

String s = new String(String s)通过String 对象或字符串常量传递给构造方法。

public String (char value[],int offset, int count)将字符数组一部分赋给String 构造方法,offset 为起始下表, count 为数组长度。


二、获取:


public int lenght() 返回字符串的长度。


public char charAt(int index) 返回字符串位置index处的字符。


public String substring(int beginIndex,int endIndex) 在当前字符串中,求从起始位置 beginIndex 到结束位置 endIndex 的子串。


三、判断:
public boolean equals(Object o) 比较两个字符串对象,相等则返回true;反之返回false。


public int compareTo(String s) 比较两个字符串字典顺序,相等返回0,s大于当前字符串返回一个负值,s小于当前串返回一个正值。


public boolean endsWith(String suffix) 如当前字符串的结尾子串与 suffix 匹配,返回true;否则,返回false。


四、查找:
public boolean regionMatches(int toffset,String other,int ooffset,int len)从当前字符串位置toffset,
开始寻找字符串other中起始位置为ooffset 长度为len 的子串。如发现匹配,返回true; 否则,返回false。


public boolean startsWith(String prefix) 从当前字符串的起始位置开始寻找字符串 prefix。如发现匹配,返回true;否则,返回false。


public int indexOf(String str) 在当前字符串中寻找与str匹配的子串,返回首次匹配的起始下表值;无匹配返回-1。


五、修改:
public String concat(String str) 将当前字符串与str连接,返回连接后的字符串。


public String toLowerCase() 将当前字符串全转换为小写形式。


public String toUpperCase() 将当前字符串转换为大写形式。


public char toCharArray() 将当前字符串转换为字符数组。


public Static String valueOf(type variable) 把variable 转换为字符串,其中 type 表示 variable 的数据类型。


      ③StringBuffer类的功能:String类实现一种不能改变的静态字符串,StringBuffer类实现一种动态可以改变的字符串。
StringBuffer类可以用于创建String类,StringBuffer一旦建立,可以用toString()方法将其转换为String类,
以后,就可以使用String 类方法来操作。
         StringBuffer类提供的方法主要用于把输入的数据转换为String类。输入数据可来自键盘或其他数据源。
类型可以是字符,字符数组,证书,浮点数和Object类型等。


一、创建:
StringBuffer 类提供了三种创建方法:


①public StringBuffer()创建一个空的StringBuffer类。


②public StringBuffer(int length)创建一个大小为length的StringBuffer类。


③public StringBuffer(String str)按str创建一个动态可变的StringBuffer类。


二、获取:
public int length()返回缓冲区的字符数 


public int capacity()返回缓冲区的容量大小,其值为:字符串长度+16。


三、修改:
public synchronized StringBuffer append(type variable) 把variable转换为字符串,然后与当前字符串连接。


public synchronized StringBuffer append(Char(char ch))把字符ch连接到当前串尾。


public synchronized StringBuffer insert(int offset,type variable) 把variable转换为字符串,然后插入到当前串中由offset指定的位置。


public synchronized StringBuffer insert(int offset,char ch)把字符 ch 插入到当前串由ofset指定的位置。


public synchronized String toString()把StringBuffer转换为字符串String。

(各个方法的使用,具体请参阅 JAVA API文档。)

0 0
原创粉丝点击