Java 基础全面讲解StringBuffer类的使用

目录
  • StringBuffer类
    • 常用方法
    • 字符串连接
    • 指定位置添加内容
    • 字符串反转
    • 替换指定范围的内容
    • 字符串截取
    • 删除指定范围的字符串
    • 查找指定的内容是否存在
    • String与StringBuffer的区别

Java 常用类

StringBuffer类

StringBuffer类的字符串可以被改变

常用方法

方法 类型 作用
public StringBuffer() 构造 StringBuffer的构造方法
public StringBuffer append(char c) 方法 追加
public StringBuffer append(String str) 方法 追加
public StringBuffer append(StringBuffer s) 方法 追加
public int indexOf(String str) 方法 查找指定字符串是否存在
public int indexOf(String str,int fromIndex) 方法 从指定位置开始查找指定字符串是否存在
public StringBuffer insert(int offser,String str) 方法 在指定位置加上指定字符串
public StringBuffer reverse() 方法 将内容反转
public StringBuffer replace(int start,int end,String str) 方法 指定内容替换
public int length() 方法 返回内容长度
public StringBuffer delete(int start,int end) 方法 删除指定范围的字符串
public String substring(int start) 方法 字符串截取,指定开始点
public String substring(int start,int end) 方法 字符串截取,指定开始点和结束点
public String toString() 方法 Object类继承的方法,用于将内容变成String类型

字符串连接

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.append("qwe");
        System.out.println(a);
    }
}

指定位置添加内容

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.insert(1,"asd");
        System.out.println(a);
    }
}

字符串反转

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        System.out.println(a.reverse());
    }
}

替换指定范围的内容

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("456");
        a.replace(1,2,"ABCDE");
        System.out.println(a);
    }
}

替换的范围 不包含结束的值

字符串截取

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        String b = a.substring(1,4);
        System.out.println(b);
    }
}

截取的范围 不包含结束的值

删除指定范围的字符串

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        String b = a.delete(1,4).toString();
        System.out.println(b);
    }
}

删除的范围 不包含结束的值

查找指定的内容是否存在

public class Hello {
    public static void main(String[] args) {
        StringBuffer a=new StringBuffer("0123456");
        System.out.println(a.indexOf("6"));
        System.out.println(a.indexOf("d"));
    }
}

查找到了,则返回内容的位置

没有查找到,则返回-1

String与StringBuffer的区别

String的内容一旦声明则不可改变

StringBuffer声明的内容可以改变

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

(0)

相关推荐

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

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

  • java中String、StringBuffer与StringBuilder的区别

    String String类是不可变类,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁. 这个是String类的解释,之前小咸儿看到这个情况,不能理解上述的解释,如下 String a = "123"; a = "456"; // 打印出来的a为456 System.out.println(a) 看到这里,小咸儿不明白了,这不是明明已经对他进行修改了吗?为什么还说他是一个不可变类呢? 经过小咸儿和小伙伴们的学习,明白

  • java中StringBuffer的length()和capacity()方法对比

    StringBuffer的length()和capacity() StringBuffer类和String类差不多,都是字符串类,只是StringBuffer在对字符串进行修改时不会生成新的对象,所以效率相对较高,占用空间也小. length()方法和capacity()方法都是获取StringBuffer的长度. length()返回字符串的实际长度: capacity()返回字符串所占容器的总大小. 举例: 可以看到: 1.StringBuffer的的初始大小为(16+初始字符串长度)即ca

  • java中stringbuffer线程安全分析实例详解

    在对于一些类作用于线程时,安全系数高的线程更推荐大家使用,在尽可能的程度上降低程序出错的可能性.对于本篇所要提到的StringBuffer而言,在其缓冲区中有多个线程的存在,我们在查询其内部方法时发现了锁的存在.现在我们就StringBuffer线程.锁的应用.线程安全分析逐步带来介绍. 1.StringBuffer线程说明 Java.lang.StringBuffer线程安全的可变字符序列.一个类似于String的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某

  • Java利用StringBuffer替换特殊字符的方法实现

    在本实例中为保证学生输入的 Java 文件名合格,将利用 StringBuffer 类实现对 Java 文件名中的特殊符号进行替换,包括将中文状态下的"."和全角状态下的"."替换为英文状态下的".". 在本例实现过程中主要使用了 StringBuffer 类的字符查找和替换方法,实现代码如下: import java.util.Scanner; public class test2 { public static void main(Strin

  • Java基础之StringBuffer详解

    一.前言 StringBuffer是可变长的字符串 1.append 追加 2.delete 删除 3.insert 插入 4.reverse 反转 二.用法 String str1 = "let there "; StringBuffer sb = new StringBuffer(str1); //根据str1创建一个StringBuffer对象 sb.append("be light"); //在最后追加 System.out.println(sb); sb.

  • java中String StringBuffer和StringBuilder的区别详解

    目录 从声明定义上来谈 从结构上来谈 从线程安全来谈 总结 从声明定义上来谈 只有String 可以 直接声明创建 而 StringBuffer 与 StringBuilder 必须去new对象 这是因为只有String会在这种声明方式下去字符串常量池创建,其他则没有 StringBuffer stf = new StringBuffer("abc"); StringBuilder stb = new StringBuilder("abc"); StringBuff

  • java String、StringBuilder和StringBuffer的区别详解

    1.共同点: 三者都是字符串类.StringBuilder和StringBuffer都是继承AbstractStringBuilder类,存储字符串都是使用数组进行存储的. 2.区别: a. String 类存储字符串使用的数组被final进行修饰了,当对String对象进行增加修改字符时,都需要重新new一个字符数组,将原来的值拷贝到新的字符数组中,所以当字符串的值需要经常修改的时候就需要考虑用StringBuilder或StringBuffer来进行处理了. public final cla

  • Java常用类库StringBuffer,Runtime,日期操作类等类库总结

    1):StringBuffer类: String.StringBuffer.StringBuilder的区别 1.String一旦声明,不可改变,StringBuffer与StringBuilder声明的内容可以改变 2.StringBuffer类中提供的方法都是同步方法,属于安全的线程操作,而StringBuilder类中大的方法都是属于异步方法,属于非线程安全的操作. 2):Runtime类 Runtime类是Java中与运行时环境有关的操作类,利用此类可以取得系统的内存信息,也可以利用此类

  • Java 基础全面讲解StringBuffer类的使用

    目录 StringBuffer类 常用方法 字符串连接 指定位置添加内容 字符串反转 替换指定范围的内容 字符串截取 删除指定范围的字符串 查找指定的内容是否存在 String与StringBuffer的区别 Java 常用类 StringBuffer类 StringBuffer类的字符串可以被改变 常用方法 方法 类型 作用 public StringBuffer() 构造 StringBuffer的构造方法 public StringBuffer append(char c) 方法 追加 p

  • Java基础类库之StringBuffer类用法详解

    StringBuffer类 String类是在所有开发项目开发之中一定会使用的一个功能类,并且这个类拥有如下功能 每个字符串的常量都属于一个String类匿名对象,并且不能修改: String类有两个常量池:静态常量池.运行常量池: String类对象实例化建议直接使用赋值的形式完成,这样可以直接将对象保存在对象池中方便下次重用: 虽然String类很好用,但是我们发现它也有弊端,就是内容不允许频繁修改,所以为了解决问题,我们提供了StringBuffer类 StringBuffer 并不像St

  • Java基础之颜色工具类(超详细注释)

    颜色工具类(超详细注释) 设置属性值自动格式化rgb值和十六进制颜色值. import java.util.HashMap; import java.util.Map; public class Color{ private final String[] hex_letters = {"0", "1", "2", "3", "4", "5", "6", "7

  • Java基础之枚举Enum类案例详解

    一.文章序言 Java中引用类型:数组.类.接口.枚举.注解 枚举这个既熟悉又陌生的东西具体再哪里可以使用呢? 什么是枚举? 枚举是一个引用类型,枚举就是一个规定了取值范围的变量类型. 枚举变量不能使用其他的数据,只能使用枚举中常量赋值.提高程序安全性: //格式: public enum 枚举名{ //枚举的取值范围 //枚举中可以生命方法 } 枚举的使用场景介绍? 1.最常见的情况如星期,相关变量我们会在Java里面重复使用,在这里我们就可以来定义一个叫做"星期"的枚举. publ

  • Java 超详细讲解核心类Spring JdbcTemplate

    目录 JdbcTemplate概述 JdbcTemplate开发步骤 JdbcTemplate快速入门 Spring产生JdbcTemplate对象 JdbcTemplate的常用操作 修改操作 删除和查询全部操作 查询单个数据操作 本章小结 JdbcTemplate概述 它是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装.spring框架为我们提供了很多的操作 模板类.例如:操作关系型数据的JdbcTemplate和HibernateTemplate,操作nos

  • Java基础学习之ArrayList类概述与常用方法

    目录 一.ArrayList类概述 二.ArrayList类常用方法 三.ArrayList存储字符串并遍历 四.ArrayList存储学生对象并遍历 五.ArrayList存储学生对象并遍历升级版 一.ArrayList类概述 什么是集合: 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变 ArrayList集合的特点: 底层是数组实现的,长度可以变化 泛型的使用: 用于约束集合中存储元素的数据类型 二.ArrayList类常用方法 构造方法 方法名 说明 public ArrayL

  • Java基础入门语法--String类

    今天带大家了解一下java的基础法语---String 字符串是我们以后工作中非常常用到的类型. 使用起来都非常简单方便, 我们一定要使用熟练. 那么C语言中是否有字符串类型? 答案是 " 没有 " !! char *p = " hello"; 那么p 的类型是一个字符串类型么? 不是,p是一个指针!! 而在 Java当中 是有 字符串类型的--String 一.定义方式 创建字符串的方式有很多种,常见的构造 String 的方式如以下: 方式一:直接赋值法 Str

  • 详解Java中字符串缓冲区StringBuffer类的使用

    StringBuffer 是一个线程安全的可变的字符序列.它继承于AbstractStringBuilder,实现了CharSequence接口. StringBuilder 也是继承于AbstractStringBuilder的子类:但是,StringBuilder和StringBuffer不同,前者是非线程安全的,后者是线程安全的. StringBuffer 和 CharSequence之间的关系图如下: StringBuffer类和String一样,也用来代表字符串,只是由于StringB

  • Java 超详细讲解ThreadLocal类的使用

    目录 Threadlocal有什么用: ThreadLocal使用实例 API介绍 ThreadLocal的使用 Threadlocal 的源码分析 原理 源码 内部类ThreadLocalMap ThreadLocalMap存储位置 Key的弱引用问题 java中的四种引用 总结: Threadlocal有什么用: 简单的说就是,一个ThreadLocal在一个线程中是共享的,在不同线程之间又是隔离的(每个线程都只能看到自己线程的值).如下图: ThreadLocal使用实例 API介绍 在使

随机推荐