Java常用类--String类(StringBuilder 和 StringBuffer)介绍
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java常用类--String类(StringBuilder 和 StringBuffer)介绍相关的知识,希望对你有一定的参考价值。
1. StringBuilder 和 StringBuffer
1.1 StringBuilder
概述:
- StringBuilder 是一个可变的字符序列。它继承于AbstractStringBuilder,实现了CharSequence接口。StringBuffer 也是继承于AbstractStringBuilder的子类;但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的。
StringBuilder 和 CharSequence之间的关系图如下:
常用方法:
1.1.1 insert
1.1.2 append
1.1.3 replace
/*StringBuilder 的replace()示例 */
public static void main(String[] args) {
StringBuilder sbuilder;
sbuilder = new StringBuilder("0123456789");
sbuilder.replace(0, 3, "ABCDE");
System.out.printf("sbuilder=%s\\n", sbuilder);// sbuilder=ABCDE3456789
sbuilder = new StringBuilder("0123456789");
sbuilder.reverse();
System.out.printf("sbuilder=%s\\n", sbuilder);// sbuilder=9876543210
sbuilder = new StringBuilder("0123456789");
sbuilder.setCharAt(0, 'M');
System.out.printf("sbuilder=%s\\n", sbuilder);// sbuilder=M123456789
System.out.println();
}
1.1.4 delete
public static void main(String[] args) {
StringBuilder sbuilder = new StringBuilder("0123456789");
// 删除位置0的字符,剩余字符是“123456789”。
sbuilder.deleteCharAt(0);
// 删除位置3(包括)到位置6(不包括)之间的字符,剩余字符是“123789”。
sbuilder.delete(3, 6);
// 获取sb中从位置1开始的字符串
String str1 = sbuilder.substring(1);
// 获取sb中从位置3(包括)到位置5(不包括)之间的字符串
String str2 = sbuilder.substring(3, 5);
// 获取sb中从位置3(包括)到位置5(不包括)之间的字符串,获取的对象是CharSequence对 象,此处转型为String
String str3 = (String) sbuilder.subSequence(3, 5);
System.out.printf("sbuilder=%s\\nstr1=%s\\nstr2=%s\\nstr3=%s\\n", sbuilder, str1, str2, str3);
}
1.1.5 index
1.1.6 其他API
1.2 StringBuffer
和StringBulider用法差不多,不过多介绍,主要看一下三者(String 和StringBuilder 和 StringBuffer)的区别
1.3 Java常用类–String类(String、StringBuffer、StringBuilder)的区别 & 线程安全与非安全
以上是关于Java常用类--String类(StringBuilder 和 StringBuffer)介绍的主要内容,如果未能解决你的问题,请参考以下文章
JAVA StringBuffer 和 StringBuilder 类
Java StringBuffer 和 StringBuilder 类
Java StringBuffer 和 StringBuilder 类