黑马程序员——03 String,StringBuffer,StringBuilder的联系以及三者的常用方法
2014-06-27 15:08
567 查看
------- android培训、java培训、期待与您交流! --------
String:为了提高对字符串进行操作的效率,创建了StringBuffer、StringBuilder,字符串操作效率低的原因就在于每次更改一次字符串都要的创建一个新的字符串对象
StringBuffer:线程安全的可变字符序列。一个类似于 String 的字符串缓冲区。
StringBuilder:不保证同步,在大多数实现中,它比 StringBuffer 要快,但不安全。
该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类。
二、三者之间的相互转换
String 转换成 StringBuffer与StringBuilder,一般采用后面两者的构造方法。
StringBuffer与StringBuilder转换成String都采用toString()方法。
三、StringBuffer与StringBuilder最常用的方法就是append()与Insert(),前者可以添加各种数据类型和数组,后者将各种数据类型和数组插入到制定位置。
[java] view
plaincopy
[java] view
plaincopy
String s = "abcdefg";
StringBuffer sbf = new StringBuffer(s);//将字符串转换为StringBuffer
StringBuilder sbd = new StringBuilder(s););//将字符串转换为StringBuilder
//StringBuffer、StringBuilder最常用的方法就是appendsbf.append("A");
sbd.append("B");
sbf.insert(3, "C");
sbd.insert(0, "D");
sbf.reverse();//将内容翻转
sbd.reverse();
System.out.println(sbf);//AgfedCcba
System.out.println(sbd);//BgfedcbaD
String s1 = sbf.toString();//转换为字符串
String s2 = sbd.toString();
System.out.println(s1.getClass());//class java.lang.String 说明转换成了String类型
[java] view
plaincopy
// StringBuilder与StringBuffer具有相同的API,所以他们的方法大部分都一样
[java] view
plaincopy
//将StringBuilder的内容添加到指定数组的指定位置
char[] ch = new char[sbd.length()];
sbd.getChars(0, sbd.length(), ch, 0);//要注意的是前两个参数是要复制的字符串的范围,是个 //左闭右开的区间
for (char c : ch)
{
System.out.print(c);
}
四、String的常用方法:
4.1 String与基本数据类型和数组之间的转换
4.1.1 整形,浮点型,字符型,boolean型转换成String类型,利用String的静态方法: valueOf(数据类型 d)。
4.1.2 String转换字符数组和字节数组:
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。
byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到
一个新的Byte数组中。
[java] view
plaincopy
int i= 56;
String.valueOf(i);
String.valueOf(ch);
String string = "12345";
byte[] b = string.getBytes();//字符串转为字节数组
char[] ch2 ;
string.getChars(0, string.length(), ch, 0);//字符串转为字符数组
4.2 String的其他常用方法:
boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。int compareTo(String anotherString)
按字典顺序比较两个字符串。
boolean endsWith(String suffix) //此方法常用语TreeSet中复写copareTo方法
测试此字符串是否以指定的后缀结束
--------- android培训、java培训、期待与您交流! ----------
一、三者之间的异同:
String:为了提高对字符串进行操作的效率,创建了StringBuffer、StringBuilder,字符串操作效率低的原因就在于每次更改一次字符串都要的创建一个新的字符串对象StringBuffer:线程安全的可变字符序列。一个类似于 String 的字符串缓冲区。
StringBuilder:不保证同步,在大多数实现中,它比 StringBuffer 要快,但不安全。
该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类。
二、三者之间的相互转换
String 转换成 StringBuffer与StringBuilder,一般采用后面两者的构造方法。
StringBuffer与StringBuilder转换成String都采用toString()方法。
三、StringBuffer与StringBuilder最常用的方法就是append()与Insert(),前者可以添加各种数据类型和数组,后者将各种数据类型和数组插入到制定位置。
[java] view
plaincopy
[java] view
plaincopy
String s = "abcdefg";
StringBuffer sbf = new StringBuffer(s);//将字符串转换为StringBuffer
StringBuilder sbd = new StringBuilder(s););//将字符串转换为StringBuilder
//StringBuffer、StringBuilder最常用的方法就是appendsbf.append("A");
sbd.append("B");
sbf.insert(3, "C");
sbd.insert(0, "D");
sbf.reverse();//将内容翻转
sbd.reverse();
System.out.println(sbf);//AgfedCcba
System.out.println(sbd);//BgfedcbaD
String s1 = sbf.toString();//转换为字符串
String s2 = sbd.toString();
System.out.println(s1.getClass());//class java.lang.String 说明转换成了String类型
[java] view
plaincopy
// StringBuilder与StringBuffer具有相同的API,所以他们的方法大部分都一样
[java] view
plaincopy
//将StringBuilder的内容添加到指定数组的指定位置
char[] ch = new char[sbd.length()];
sbd.getChars(0, sbd.length(), ch, 0);//要注意的是前两个参数是要复制的字符串的范围,是个 //左闭右开的区间
for (char c : ch)
{
System.out.print(c);
}
四、String的常用方法:
4.1 String与基本数据类型和数组之间的转换
4.1.1 整形,浮点型,字符型,boolean型转换成String类型,利用String的静态方法: valueOf(数据类型 d)。
4.1.2 String转换字符数组和字节数组:
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
将字符从此字符串复制到目标字符数组。
byte[] getBytes()
使用平台的默认字符集将此 String 编码为 byte 序列,并将结果存储到
一个新的Byte数组中。
[java] view
plaincopy
int i= 56;
String.valueOf(i);
String.valueOf(ch);
String string = "12345";
byte[] b = string.getBytes();//字符串转为字节数组
char[] ch2 ;
string.getChars(0, string.length(), ch, 0);//字符串转为字符数组
4.2 String的其他常用方法:
boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束 boolean contains(CharSequence s)
当且仅当此字符串包含指定的 char 值序列时,返回 true。
boolean endsWith(String suffix)
测试此字符串是否以指定的后缀结束
boolean equalsIgnoreCase(String anotherString)
将此 String 与另一个 String 比较,不考虑大小写。
String[] split(String regex)
根据给定正则表达式的匹配拆分此字符串。
String[] split(String regex, int limit)
根据匹配给定的正则表达式来拆分此字符串。int compareTo(String anotherString)
按字典顺序比较两个字符串。
boolean endsWith(String suffix) //此方法常用语TreeSet中复写copareTo方法
测试此字符串是否以指定的后缀结束
--------- android培训、java培训、期待与您交流! ----------
相关文章推荐
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- Java中String, StringBuffer, StringBuilder的区别和常用方法
- 黑马程序员--05.String字符串类--03.String类的常用方法【转换】【替换】【其他】
- StringBuilder、StringBuffer和String三者的联系和区别
- Java——String、StringBuilder、StringBuffer的区别与常用方法
- String、StringBuilder、StringBuffer三者的区别和联系
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- java核心API之String,StringBuffer和StringBuilder以及equals与==的区别和联系
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别
- StringBuilder、StringBuffer和String三者的联系和区别(转)
- StringBuilder、StringBuffer和String三者的联系和区别
- 朝花夕拾:Java中String,StringBuffer,StringBuilder使用方法以及异同比较
- StringBuilder、StringBuffer和String三者的联系和区别
- Java中的String,StringBuilder,StringBuffer三者的区别和各自使用方法
- StringBuilder、StringBuffer和String三者的联系和区别
- 朝花夕拾:Java中String,StringBuffer,StringBuilder使用方法以及异同比较