StringBuffer和StringBuilder使用方法比較
StringBuffer是字符串缓冲区,是一个容器。
特点:
1,长度是可变化的。
2,能够字节操作多个数据类型。3,终于会通过toString方法变成字符串。
C create U update R read D delete
1,存储。
StringBuffer append():将指定数据作为參数加入到已有数据结尾处。
StringBuffer insert(index,数据):能够将数据插入到指定index位置。
2,删除。
StringBuffer delete(start,end):删除缓冲区中的数据,包括start,不包括end。
StringBuffer deleteCharAt(index):删除指定位置的字符。
3,获取。
char charAt(int index)
int indexOf(String str)
int lastIndexOf(String str)
int length()
String substring(int start, int end)
4,改动。
StringBuffer replace(start,end,string);
void setCharAt(int index, char ch) ;
5,反转。
StringBuffer reverse();
6,
将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
演示样例:
StringBuffer buffer=new StringBuffer("abcdef");
char[]chs=new char[5];
buffer.getChars(1, 4, chs, 0);
for(int i=0;i<chs.length;i++){
System.out.println("chs["+i+"]"+"="+chs[i]+";");
}
输出:chs[0]=b;
chs[1]=c;
chs[2]=d;
chs[3]= ;
chs[4]= ;
JDK1.5 版本号之后出现了StringBuilder.
StringBuffer是线程同步。
StringBuilder是线程不同步。
以后开发,建议使用StringBuilder
升级三个因素:
1,提高效率。
2,简化书写。3,提高安全性。
class StringBufferDemo {public static void main(String[] args) {//method_update();StringBuilder sb = new StringBuilder("abcdef");char[] chs = new char[6];sb.getChars(1,4,chs,1);//将for(int x=0; x<chs.length; x++){sop("chs["+x+"]="+chs[x]+";");}draw(3,6);draw(8,9);// StringBuilder sb1 = new StringBuilder(); // sb1.append(new Demo()).append(new Demo()); // sop("sb1="+sb1);}public static void method_update(){StringBuffer sb = new StringBuffer("abcde");// sb.replace(1,4,"java");sb.setCharAt(2,'k');sop(sb.toString());}public static void method_del(){StringBuffer sb = new StringBuffer("abcde");// sb.delete(1,3);//清空缓冲区。//sb.delete(0,sb.length());//sb.delete(2,3);sb.deleteCharAt(2);sop(sb.toString());}public static void method_add(){StringBuffer sb = new StringBuffer();//sb.append("abc").append(true).append(34); // StringBuffer sb1 = sb.append(34); // sop("sb==sb1:"+(sb==sb1));sb.insert(1,"qq");sop(sb.toString());//abctrue34//sop(sb1.toString());}public static void sop(String str){System.out.println(str);}public static void draw(int row,int col){StringBuilder sb = new StringBuilder();for(int x=0; x<row; x++){for(int y=0; y<col; y++){sb.append("*");}sb.append("\r\n");}sop(sb.toString());}}
转载于:https://www.cnblogs.com/blfshiye/p/4036820.html
StringBuffer和StringBuilder使用方法比較相关推荐
- JavaSE09:String、StringBuffer、StringBuilder底层源码解析(纯干货)
写在前面 结束了多线程的学习后,常用类的学习立马就安排上了.在学习的过程中,发现源码是很重要的,只知道怎么用却不知道底层是很不好的,而我又太懒.看源码也是零零散散,所以本篇博客旨在鞭策自己多多阅读现阶 ...
- Java学习20天 String 类 常用方法 String、StringBuffer、StringBuilder三者的异同
String 类 String:字符串,使用一对""引起来表示. 1.String声明为finaL的,不可被继承 2.String实现了SerializabLe接口:表示字符串是支 ...
- JavaSE(二十五)——String与StringBuffer、StringBuilder的区别、创建对象的几种方法、Http和Https的区别
文章目录 1. String与StringBuffer.StringBuilder的区别 2. Java创建对象的几种方法 3. Http和Https的区别 1. String与StringBuffe ...
- dofilter在java中_关于java:Servlet的doFilter方法中的StringBuffer或StringBuilder?
本问题已经有最佳答案,请猛点这里访问. 我正在实现我的自定义筛选器: public class MyFilter implements javax.servlet.Filter 我应该在这个doFil ...
- String、StringBuffer、StringBuilder的理解
问题: 理解 Java的字符串,String.StringBuffer.StringBuilder 有什么区别? 知识点 字符串设计和实现考量 String是Immutable(线程安全.字符串常量池 ...
- String、StringBuffer、StringBuilder源码解析
2019独角兽企业重金招聘Python工程师标准>>> String:如果短字符拼接的话效率是最高的,例如 String a="a"+"b"+ ...
- Java中String、StringBuffer和StringBuilder的区别
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6581009.html 在编程中,对于字符串拼接,我们可以用String类重载的+或concat(str).S ...
- Java 之String、StringBuffer 和 StringBuilder 三者区别介绍
String:字符串常量,字符串长度不可变,StringBuffer:字符串变量(Synchronized,即线程安全),StringBuilder:字符串变量(非线程安全). String Stri ...
- String、StringBuffer、StringBuilder三者的异同
String.StringBuffer.StringBuilder String.StringBuffer.StringBuilder三者的异同 StringBuffer.StringBuilder的 ...
最新文章
- 图像像素点赋值_医学图像处理教程(五)——医学图像边缘检测算法
- Windows 2003 AD升级至Windows 2012 AD之DHCP服务器迁移
- GLSL实现图像处理
- easyui 合并列_Easyui 表格列数据合并!
- hadoop的运行机制
- mysql的中文乱码url,MySQL 中文显示乱码
- 从病毒到“基础软件污染”,Linux 真的安全吗?
- 【转】xp修复win7启动项方法
- getSelectionStart() doesn't work in android, is always 0
- SpringBoot添加FastJson消息转换器(自用)
- 基于EasyX的推箱子游戏
- 微信小程序 + 腾讯位置服务获取全国城市列表
- AUTOSAR——AUTOSAR基础
- 用C语言实现推箱子小游戏基础程序
- tableau瀑布图
- eclipse中servers(服务器)的配置
- 轻型货车鼓式制动器设计(论文+CAD图纸+Catia三维图+开题报告+任务书+翻译……)
- ChatGPT专业应用:撰写节日营销活动方案
- 计算机网络协议,以太网帧格式
- pandas爬取表格数据
热门文章
- 8种你可能正在写错的SQL用法
- 45张令程序员泪流满面的趣图
- ip访问php $_files空,PHP中表单没有问题但$_FILES为空怎么办?
- 台式计算机单核与双核,什么是单核cpu、双核cpu 单核cpu和双核cpu的区别是什么...
- figma下载_通过构建7个通用UI动画来掌握Figma中的动画
- react-navigation 跨 tabs 返回首页
- Add a All Document Folder
- java中文乱码解决之道(五)—–java是如何编码解码的
- maven正确的集成命令-U-B
- SQL相关路径查询脚本