Java中StringBuilder类的介绍与常用方法
m1m-FG 人气:0一、StringBuilder类介绍
- StringBuilder也是lang包中的类,即java.lang.StringBuilder类。
- 该类也是用来保存字符串的,它也是一个可变的字符序列。
- StringBuilder类提供一个与StringBuffer类兼容的API(即StringBuffer类中有的方法StringBuilder类都有),但不保证同步(即StringBuilder不是线程安全)。
- 该类被设计用作StringBuilder的一个简易替换,用在字符串缓冲区被单个线程使用的时候。(如果是单线程的设计,建议使用StringBuilder类)如果可能,建议优先使用该类,因为在大多数实现中,它比StringBuffer要快。
- 在StringBuilder上的主要操作是append和insert方法,可以重载这些方法,以接收任意类型的数据。
package com.hspedu.Wrapper; public class StringAndStringBuffer { public static void main(String[] args) { //1.StringBuilder 继承 AbstractStringBuilder 类 //2.实现了 Serializable 接口,说明 stringBuilder 对象是可以串行化的(对象可以网络传输,可以保存到文件) //3.StringBuilder 类是final类,不能被继承 //4.StringBuilder 对象字符序列仍然是存在它的父类 AbstractStringBuilder 中的 char[] value //因此,字符序列是在堆中 //5.StringBuilder 的方法,没有做互斥处理,即没有 synchronized 关键字,因此在单线程情况下使用 StringBuilder stringBuilder = new StringBuilder(); } }
二、StringBuilder类的体系图
可以看出StringBuilder类的体系图和StringBuffer类一样,即StringBuffer类中有的方法在StringBuilder类中也有。那么为什么还要有StringBuilder类呢?
答:因为StringBuilder类用在单线程,StringBuffer类用在多线程中。
三、StringBuilder类的常用方法
和StringBuffer类一样,就不赘述了。
四、String类、StringBuffer类和StringBuilder类比较
1、效率比较
StringBuilder > StringBuffer > String
2、如何选择?
补充:String和StringBuilder之间的相互转换
1、String转换为StringBuilder;
public String toString():通过toString()就可以实现把StringBuilder转成String。
package stringBuilder.demo_2; public class test06 { public static void main(String[] args) { StringBuilder sb = new StringBuilder(); sb.append("hello").append("world"); String s = sb.toString(); System.out.println(s); } }
2、StringBuilder转换成String;
StringBuilder(String str):通过构造方法就可以实现把String转成StringBuilder。
package stringBuilder.demo_2; public class test06 { public static void main(String[] args) { String s = "hello"; StringBuilder sb = new StringBuilder(s); System.out.println(sb); } }
总结
加载全部内容