Java中StringBuilder类的介绍与常用方法

目录
  • 一、StringBuilder类介绍
  • 二、StringBuilder类的体系图
  • 三、StringBuilder类的常用方法
  • 四、String类、StringBuffer类和StringBuilder类比较
  • 补充:String和StringBuilder之间的相互转换
  • 总结

一、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);
	}
}

总结

到此这篇关于Java中StringBuilder类的文章就介绍到这了,更多相关Java中StringBuilder类内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • JAVA基础类库之String类,StringBuffer类和StringBuilder类

    目录 引言 String类 String类构造方法 String常用方法: 简单介绍的方法 详细介绍的方法 StringBuffer/StringBuilder常用方法 StringBuffer类构造方法 StringBuffer常用方法: 总结 引言 字符串就是一连串的字符序列,Java提供了String.StringBuffer和StringBuilder三个类来封装对字符串,并提供了系列方法来操作字符串对象. String类是不可变类的: StringBuffer对象则代表一个字符序列可变

  • java StringBuilder类的详解及简单实例

     java  StringBuilder类的详解及简单实例 实现代码: public class StringBuilderTest { /** * @param args */ public static void main(String[] args) { StringBuilder sb = new StringBuilder(); // 追加字符串 sb.append("java");//sb = "java" // 插入 sb.insert(0 , &qu

  • Java StringBuilder类原理及常用方法

    这篇文章主要介绍了Java StringBuilder类原理及常用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 StringBuilder类的由来 由于String类的对象内容不可改变(底层是一个被final修饰的数组),所以每当我们进行字符串拼接时,总是会在内存中创建一个新的对象.如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间.为了解决这一问题,我们可以使用java.lang.StringBui

  • 全面解释java中StringBuilder、StringBuffer、String类之间的关系

    1. String 类 String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间. String a = "a"; //假设a指向地址0x0001 a = "b";//重新赋值后a指向地址0x0002,但0x0001地址中保存的"a"依旧存在,但已经不再是a所指向的,a 已经指向了其它地址. 因此String的操作都是改变赋值地址而不是改变值操作. 2. StringBuf

  • 辨析Java中的String与StringBuffer及StringBuilder字符串类

    1 String String:字符串常量,字符串长度不可变. 2 StringBuffer StringBuffer:字符串变量(Synchronized,即线程安全).如果要频繁对字符串内容进行修改,出于效率考虑最好使用StringBuffer,如果想转成String类型,可以调用StringBuffer的toString()方法. Java.lang.StringBuffer线程安全的可变字符序列.在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容.可将

  • Java StringBuilder类相关知识总结

    1.构造方法: 无参构造:new StringBuilder() -- 得到的是 "" 一个空字符串 有参构造:new StringBuilder("abc"); 2.成员方法: append()方法:在字符串的末尾添加内容,返回值仍然是this,故可以链式调用. public class Demo5 { public static void main(String[] args) { StringBuilder sb=new StringBuilder("

  • Java详细分析String类与StringBuffer和StringBuilder的使用方法

    目录 String类基本概念 String字符串的存储原理 String类的常用构造方法 String类中常用方法 StringBuffer类 StringBuilder类 String类基本概念 String类属于引用数据类型,不属于基本数据类型. 在Java中只要是" "(双引号)中的,都是String对象. java中规定,双引号中的字符串是不可变的,也就是说"abc"自出生到死亡都不可能变成"abcd",也不能变成"ab&quo

  • Java StringBuffer类与StringBuilder类用法实例小结

    本文实例总结了Java StringBuffer类与StringBuilder类用法.分享给大家供大家参考,具体如下: StringBuffer类的构造方法 package cn.itcast_01; /* * 线程安全(多线程讲解) * 安全 -- 同步 -- 数据是安全的 * 不安全 -- 不同步 -- 效率高一些 * 安全和效率问题是永远困扰我们的问题. * 安全:医院的网站,银行网站 * 效率:新闻网站,论坛之类的 * * StringBuffer: * 线程安全的可变字符串. * *

  • 详细分析Java中String、StringBuffer、StringBuilder类的性能

    我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看API会发现,String.StringBuffer.StringBuilder都实现了 CharSequence接口,虽然它们都与字符串相关,但是其处理机制不同. String:是不可改变的量,也就是创建后就不能在修改了. StringBuffer:是一个可变字符串序列,它与String一样,在内存中保存的都是一个有序的字符串

  • Java中StringBuilder字符串类型的操作方法及API整理

    0.StringBuilder类型简介 StringBuilder类型是一个可变的字符串类型,StringBuilder类型的API与StringBuffer类型的API基本一致,唯一的区别是StringBuilder的使用假设在单一线程中,换句话说,StringBuilder是线程不安全的.StringBuilder在实例化的时候,通常也会默认设定一个容量大小,一般为字符串参数的长度+16.StringBuilder是继承AbstractStringBuilder这个抽象类的,而这个抽象类的内

随机推荐