intellij idea安装 端口映射 Zookeeper安装 静态IP 微服务 npm axios vue路由 bootstrap管理系统模板 git视频教程 jquery触发change事件 matlab读取dat文件 axure组件库下载 matlab求矩阵最大值 webapp打包 lora开发 matlab不等于怎么表示 java取绝对值 本地安装mysql java微服务架构 kubernetes实战 后台管理网站模板 python获取字典的值 python编程语言 java学习手册 java环境安装 java查找字符串 java中class java获取当前时间 java文件读写 java字符串操作 java8函数式编程 java日期格式 linux系统如何安装 linux内核编程 心理学与生活txt 网络适配器驱动 找茬辅助 丁丁下载 vbs编程教学
当前位置: 首页 > 学习教程  > 编程语言

StringBuffer简介加示例代码

2020/11/4 15:06:30 文章标签:

Java API中的StringBuffer类 1.StringBuffer类 String字符串类 字符串值不可变,值可以共享 buffer 缓冲区.缓冲器 StringBuffer 字符串缓冲区,作用相当于一个容器,里面存放很多字符串值 特点: 1.线程安全的可变字符序列 2.可以添加任意类型的数据,但是添加进入的数据会被转换成…

Java API中的StringBuffer类

1.StringBuffer类
String字符串类 字符串值不可变,值可以共享
buffer 缓冲区.缓冲器
StringBuffer 字符串缓冲区,作用相当于一个容器,里面存放很多字符串值
特点:
1.线程安全的可变字符序列
2.可以添加任意类型的数据,但是添加进入的数据会被转换成字符串类型
3.StringBuffer类主要是通过append和insert方法进行操作
append添加在字符串的末端
insert添加在字符串的某一位置
通常情况下有索引都是有序的表
4.StringBuffer有索引,可以认为是有序的
5.StringBuffer构建对象会有初始容量,
当存储的元素超出初始容量后会自动扩充
6.JDK5之后,官方提供等价的类StringBuilder
StringBuilder不同步,速度较快

假设你在火车上,只有一个厕所。ABC都在排队。
简单来说,线程同步就是 A进去了,门锁上。
BC只能在外面干等着。这是线程安全的,不会产生问题。
线程不同步就是 A进去的同时,没关门,B也进去了。这是线程不安全。

CRUD操作
添加
插入
删除 
替换

StingBuilder类属于线程不安全的,执行效率高,推荐使用该类
package com.Lesson;

// 定义一个字符串缓冲区类
public class JavaAPI_StringBuffer {
    public static void main(String[] args) {
        StringBuffer stringBuffer = new StringBuffer();

        // 增加 插入 删除 替换

        // append 在末尾附加.添加
        stringBuffer.append("张三");
        stringBuffer.append(true);
        stringBuffer.append(20);
        stringBuffer.append(13.5);
        System.out.println(stringBuffer.toString());
        // 张三true2013.5
        // stringBuffer是有序的
        // 转换成字符串类型的值

        // insert
        stringBuffer.insert(6, "李四");
        System.out.println(stringBuffer.toString());
        // 张三true李四2013.5
        // 插入'男'
        stringBuffer.insert(8, '男');
        System.out.println(stringBuffer.toString());
        // 张三true李四男2013.5

        // 删除
        // delete(int start,int end)
        // 从start到end,不包含end [start,end)
        // 注意索引越界问题
        StringBuffer delete = stringBuffer.delete(6, 8);//6,7元素
        System.out.println("删除之后的剩余的值:"+delete.toString());
        // 删除的元素:张三true男2013.5
        System.out.println(stringBuffer.toString());
        // 张三true男2013.5

        // 替换
        // replace (int start,int end ,String str);
        // 使用给定的String中的字符替换此序列中的子字符串中的字符
        // 先删除delete(),在插入insert()
        StringBuffer replace = stringBuffer.replace(2, 6, "女性");
        System.out.println(stringBuffer.toString());
        // 张三女性男2013.5
        System.out.println("replace的值:"+replace.toString());
        // replace的值:张三女性男2013.5
        // 返回的还是替换之后的值

        // toString() 打印对象时,JVM会自动调用toString()方法

    }
}

本文链接: http://www.dtmao.cc/news_show_350326.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?