/*
如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。

StringBuffer 其实就是一个存储字符 的容器。

笔试题目:使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16, 如果字符数组的长度不够使用 死,自动增长1倍。

StringBuffer 是一个存储字符的容器

容器的具备 的行为

String

增加
append(boolean b) 可以添加任意类型 的数据到容器中
insert(int offset, boolean b) 指定插入的索引值,插入对应 的内容。

删除
delete(int start, int end) 根据指定的开始与结束的索引值删除对应的内容。
deleteCharAt(int index) 根据指定 的索引值删除一个字符。

修改

replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。
reverse() 翻转字符串缓冲类的内容。 abc--->cba

setCharAt(int index, char ch) 把指定索引值的字符替换指定的字符。
substring(int start, int end) 根据指定的索引值截取子串。
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。

查看
indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
lastIndexOf(String str)

capacity() 查看当前字符数组的长度。
length()

charAt(int index)
toString() 把字符串缓冲类的内容转成字符串返回。

StringBuffer 与 StringBuilder的相同处与不同处:

相同点:
1. 两个类都是字符串缓冲类。
2. 两个类的方法都是一致的。
不同点:
1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。
2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。

推荐使用: StringBuilder,因为操作效率高。

 package com.Stringuse;
/*
如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(StringBuffer)。
StringBuffer 其实就是一个存储字符 的容器。
笔试题目:使用Stringbuffer无 参的构造函数创建 一个对象时,默认的初始容量是多少? 如果长度不够使用了,自动增长多少倍?
StringBuffer 底层是依赖了一个字符数组才能存储字符数据 的,该字符串数组默认 的初始容量是16, 如果字符数组的长度不够使用 死,自动增长1倍。
容器的具备 的行为
增加
append(boolean b) 可以添加任意类型 的数据到容器中
insert(int offset, boolean b) 指定插入的索引值,插入对应 的内容。
删除
delete(int start, int end) 根据指定的开始与结束的索引值删除对应的内容。
deleteCharAt(int index) 根据指定 的索引值删除一个字符。
修改
replace(int start, int end, String str) 根据指定 的开始与结束索引值替代成指定的内容。
reverse() 翻转字符串缓冲类的内容。 abc--->cba setCharAt(int index, char ch) 把指定索引值的字符替换指定的单个字符。
substring(int start, int end) 根据指定的索引值截取子串。
ensureCapacity(int minimumCapacity) 指定StringBuffer内部的字符数组长度的。
查看
indexOf(String str, int fromIndex) 查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
lastIndexOf(String str) capacity() 查看当前字符数组的长度。
length() charAt(int index)
toString() 把字符串缓冲类的内容转成字符串返回。 StringBuffer 与 StringBuilder的相同处与不同处: 相同点:
1. 两个类都是字符串缓冲类。
2. 两个类的方法都是一致的。
不同点:
1. StringBuffer是线程安全的,操作效率低 ,StringBuilder是线程非安全的,操作效率高。
2. StringBuffer是jdk1.0出现 的,StringBuilder 是jdk1.5的时候出现的。 推荐使用: StringBuilder,因为操作效率高。
*/ public class Stringbuffer { public static void main(String[] args) { String str1 = "abc";
String str2 = "def";
String str3 = str1 + str2;
System.out.println(str3);
System.out.println("str1与str2是否为同一个对象,"+(str1==str2));
StringBuffer sb = new StringBuffer();
//先使用StringBuffer无参的构造函数创建一个字符串缓冲类。
//添加任意类型 的数据到容器中
sb.append("我的手机号是");
sb.append(13695313317l); System.out.println(sb);
//指定插入的索引值,插入对应 的内容。
/*sb.insert(2, "新");
System.out.println(sb);‘ //根据指定的开始与结束的索引值删除对应的内容。
sb.delete(0, 2);
System.out.println(sb);
//根据指定 的索引值删除一个字符。
sb.deleteCharAt(5);
System.out.println(sb); //根据指定 的开始与结束索引值替代成指定的内容。
sb.replace(2, 5, "电话号");
System.out.println(sb);
//翻转字符串缓冲类的内容。
sb.reverse();
System.out.println(sb);
//把指定索引值的字符替换指定的单个字符。
sb.setCharAt(5, ':');
System.out.println(sb);
//根据指定的索引值截取子串。
String s = sb.substring(2,6);
System.out.println("子串的内容:"+s);
System.out.println(sb);
//指定StringBuffer内部的字符数组长度的。 //查找指定的字符串第一次出现的索引值,并且指定开始查找的位置。
int x = sb.indexOf("3317", 0);
System.out.println("第几各索引值,"+x);
//查看当前字符数组的长度。
System.out.println(sb.capacity());
//当前存储字符的个数
int y = sb.length();
System.out.println("存储的字符个数,"+y);
//查找相应索引值对应的字符
System.out.println("相应索引值对应的字符,"+sb.charAt(12));*/
//把字符串缓冲类的内容转成字符串返回。
String st1 = sb.toString();
test(st1);
}
public static void test(String st){
System.out.println("dsbvbsbuv");
} }

StringBuffer 与 StringBuilder类的使用的更多相关文章

  1. String、StringBuffer和StringBuilder类的区别

    Java提供了String.StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法. 它们的相同点是都用来封装字符串:都实现了CharSequence接 ...

  2. Java StringBuffer和StringBuilder类

    Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...

  3. Java 12 - Java StringBuffer和StringBuilder类

    Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...

  4. StringBuffer 和 StringBuilder 类

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...

  5. Java StringBuffer 和 StringBuilder 类

    当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...

  6. AJPFX关于StringBuffer,StringBuilder类 总结(一)

    StringBuffer,StringBuilder类 StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 StringBuffer:概述1) ...

  7. AJPFX关于StringBuffer,StringBuilder类总结(二)

    StringBuffer,StringBuilder类 总结2需要注意的知识点:1):// String -- >StringBuffer        String s = "hel ...

  8. Java ——String 类 StringBuffer 和 StringBuilder类 随机字符

    本节重点思维导图 String 类 创建字符串 String str = "I love ai"; 在代码中遇到字符串常量时,"I love ai",编译器会使 ...

  9. 20180715-Java StringBuffer和StringBuilder类

    public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...

  10. StringBuffer和StringBuilder类

    对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类(String类是不可改变的,一旦创建了String对象,那它的值就无法改变了). 和String类不同的是,St ...

随机推荐

  1. mac 下安装php7.1 memcache扩展

    1.下载memcache源代码文件 https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 文件夹名为:pecl-memcach ...

  2. GoldData学习实例-采集官网新闻数据

    概述 在本节中,我们将讲述抓取政府官网地方新闻.并将抓取的新闻数据融入到以下两张数据表news_site和news中. news_site(新闻来源) 字段 类型 说明 id bigint 主键,自动 ...

  3. Android ListView demo

    创建一个空的 Activity 相对应的layout文件会自动创建: ?xml version="1.0" encoding="utf-8"?> < ...

  4. 使用开源软件 enfuse 做照片的曝光合成

    使用开源软件 enfuse 做照片的曝光合成 所谓曝光合成就是对同一场景用不同的曝光量拍摄多张照片,然后将这些照片再合成为一张照片.之所以我们要这么做是因为现在的相机感光的动态范围相比人眼实在是太小了 ...

  5. 3931: [CQOI2015]网络吞吐量

    3931: [CQOI2015]网络吞吐量 链接 分析: 跑一遍dijkstra,加入可以存在于最短路中的点,拆点最大流. 代码: #include<cstdio> #include< ...

  6. NLPIR分词(c++接口整理)

    C/C++接口——对应的各个函数 函数1-bool NLPIR_Init(const char * sInitDirPath=0, int encoding=GBK_CODE,constchar*sL ...

  7. eclipse下载与安装并测试

    下载地址:www.ecplise.org  下载完成后双击安装       安装完成之后,第一次运行eclipse会弹出Workspace Launcher对话框,要求设置工作空间存放项目文档.   ...

  8. 2018年美国大学生数学建模竞赛(MCM/ICM) A题解题思路

  9. python002

    1.万恶的”+“号字符串拼接 字符串中的连接符+”会开辟一个新的空间,多一个“+“就会多开辟一个空间,影响性能 2.字符串格式化 ”%S“   :字符类型         ”%D“   ”数字类型  ...

  10. Docker创建数据卷容器

    docker create --name test_4 -v /data_4 nginx创建一个test_4数据卷容器,在该容器的/data_4目录挂载数据卷 使用数据卷容器时,无须保证数据卷容器处于 ...