StringBuffer 与 StringBuilder类的使用
/*
如果需要频繁修改字符串 的内容,建议使用字符串缓冲 类(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类的使用的更多相关文章
- String、StringBuffer和StringBuilder类的区别
Java提供了String.StringBuffer和StringBuilder类来封装字符串,并提供了一系列操作字符串对象的方法. 它们的相同点是都用来封装字符串:都实现了CharSequence接 ...
- Java StringBuffer和StringBuilder类
Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...
- Java 12 - Java StringBuffer和StringBuilder类
Java StringBuffer和StringBuilder类 当对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类. 和String类不同的是,StringBu ...
- StringBuffer 和 StringBuilder 类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...
- Java StringBuffer 和 StringBuilder 类
当对字符串进行修改的时候,需要使用 StringBuffer 和 StringBuilder 类. 和 String 类不同的是,StringBuffer 和 StringBuilder 类的对象能够 ...
- AJPFX关于StringBuffer,StringBuilder类 总结(一)
StringBuffer,StringBuilder类 StringBuffer是同步的,数据安全,效率低;StringBuilder是不同步的,数据不安全,效率高 StringBuffer:概述1) ...
- AJPFX关于StringBuffer,StringBuilder类总结(二)
StringBuffer,StringBuilder类 总结2需要注意的知识点:1):// String -- >StringBuffer String s = "hel ...
- Java ——String 类 StringBuffer 和 StringBuilder类 随机字符
本节重点思维导图 String 类 创建字符串 String str = "I love ai"; 在代码中遇到字符串常量时,"I love ai",编译器会使 ...
- 20180715-Java StringBuffer和StringBuilder类
public class Test{ public static void main(String args[]){ StringBuffer sBuffer = new StringBuffer(& ...
- StringBuffer和StringBuilder类
对字符串进行修改的时候,需要使用StringBuffer和StringBuilder类(String类是不可改变的,一旦创建了String对象,那它的值就无法改变了). 和String类不同的是,St ...
随机推荐
- 为什么企业依赖于 NoSQL
如果你关注大数据科技动向,你对 NoSQL 一定不陌生,NoSQL 是一个分布式数据库.在过去时间,数据存储一直关系型数据库天下,有着良好的控制并发操作.事务功能.虽然RDBMS很优秀,但是随着时间的 ...
- STM32 HAL库学习系列第1篇 ADC配置 及 DAC配置
ADC工作均为非阻塞状态 轮询模式 中断模式 DMA模式 库函数: HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc);//轮询模式,需放 ...
- react-native使用redux 存在的坑
前几天安卓真机测试的时候,突然发现一个严重的问题. 后退两次退出应用,再开启白屏.而杀掉进程后再开启就是好的. 这个重大bug我跟了好久,以为是splash-screen的问题. 后来一点一点打con ...
- Mysql linux 安装文档
1.安装依赖包 yum -y install gcc-c++ ncurses-devel cmake make perl gcc autoconf automake zlib libxml libgc ...
- Linux命令学习笔记2(mysql安装和mysql-python安装)
linux下 强制安装 rpm安装包(切换到root用户): rpm -ivh bluefish-shared-data-2.2.7-1.el6.noarch.rpm --nodeps --forc ...
- 【转载】ATL问题集
原文:http://blog.csdn.net/fengrx/article/details/4171629 这些问题是以前在csdn当版主是一些朋友整理的,今天找到了,贴到这里来! #1 如何使用控 ...
- .net core中automapper的使用
automapper 是将两个类中的相同字段进行映射,也可以指定字段进行映射:将 UserDao的id 映射为 User 的age CreateMap<UserDao, User>() . ...
- jquery几秒钟之后跳转页面
<script> window.onload = function() { var el = document.getElementById('js-tip-timer'), i = 5; ...
- 2018年美国大学生数学建模竞赛(MCM/ICM) B题解题思路
老套路,把我们在解决B题时候采用的思路分享给大家,希望大家能学到点东西~~~ B题思路整理:Part1:先整理出说某种语言多的十个国家给找出来,或者说是把十种语言对应的国家找出来 然后再对各个国家的人 ...
- python数据分析的工具环境
python做数据分析的优势: 拥有大量的库为数据分析和处理提供了完整的工具链 随着库还在不断的增加的同时, 算法的实现也更加的创新.Numpy, matplotlib, scipy,scikit-l ...