当前位置: 首页 > news >正文

StringBuffer类常用方法

 

StringBuffer类概述 

 

      1)我们如果对字符串进行拼接操作,每次拼接,都会构建一个新的String对象,既耗时,又浪费空间。而StringBuffer就可以解决这个问题
  2)线程安全的可变字符序列
  3)StringBuffer和String的区别
   前者长度和内容可变,后者不可变。
  · 如果使用前者做字符串的拼接,不会浪费太多的资源。


构造方法


· public StringBuffer() :无参构造方法
· public StringBuffer(int capacity) :指定容量的字符串缓冲区对象
· public StringBuffer(String str) :指定字符串内容的字符串缓冲区对象
 StringBuffer的方法:
 public int capacity():返回当前容量,理论值
  public int length():返回长度(字符数) ,实际值

package com.stringbuffer;

public class TestStringBufffer {

	public static void main(String[] args) {
		//StringBuffer构造方法1
		StringBuffer sb1=new StringBuffer("Hello");
		System.out.println(sb1);
		
		String s1="World";
		//StringBuffer构造方法2
		StringBuffer sb2=new StringBuffer(s1);
		System.out.println(sb2);
		
		//length()返回字符串的长度
		System.out.println(sb2.length());
		//toString()这个方法重写了Object中的toString()方法,返回String类型的字符串
		//输出StringBuffer对象时候,会默认调用此方法
		System.out.println(sb2);
		
		//append(String s)方法在原有的字符串后面添加字符串,返回的是添加后的StringBuffer对象
		sb1.append(" World");
		System.out.println(sb1);
		
		//public StringBuffer deleteCharAt(int index)
		//该方法的作用是删除指定位置的字符,然后将剩余的内容形成新的字符串
		sb1.deleteCharAt(0);
		System.out.println(sb1);//ello World
		
		//public StringBuffer delete(int start,int end)
		//从字符缓冲区中从start索引删除到end索引所对应的字符,其中包括start索引不包括end索引对应的值
		sb1.delete(1, 3);
		System.out.println(sb1);
		
		//public StringBuffer insert(int offset,String str)
		//在字符串缓冲区的第offset个字符后面插入指定字符串
		sb1.insert(1, "ME");
		System.out.println(sb1);
		
		//public StringBuffer reverse(),将字符串反转
		sb1.reverse();
		System.out.println(sb1);
		
		
		
	}

}

  

转载于:https://www.cnblogs.com/mylove-huan/p/7232888.html

相关文章:

  • Vim技能修炼教程(17) - 编译自己的Vim
  • 12306 外包给阿里巴巴、IBM 等大企业做是否可行?
  • HTTP中GET与POST的真正区别
  • “学”、“习”二合一:监督学习——支持向量机(SVM)入门
  • Halcon学习之五:有关图像的定义域的函数
  • 教你一招让网页用上漂亮的11PX中文字体
  • Xamarin XAML语言教程模板视图TemplatedView(二)
  • Mozilla “Common Voice” 开源语音识别项目
  • 物联网未来充满活力,但业界仍在探索中
  • activiti实战系列 排他网关(ExclusiveGateWay)
  • 还在用PS磨皮去皱?看看如何用神经网络高度还原你的年轻容貌!
  • 遭受勒索攻击后,勒索软件接下来做什么?
  • 30 岁: 程序员心中永远的痛?
  • 未来网络战如何打?智能机器是黑客的克星吗?
  • 如何使大数据易于管理
  • 自己简单写的 事件订阅机制
  • Angularjs之国际化
  • electron原来这么简单----打包你的react、VUE桌面应用程序
  • java多线程
  • Laravel Mix运行时关于es2015报错解决方案
  • Lsb图片隐写
  • Lucene解析 - 基本概念
  • mac修复ab及siege安装
  • magento2项目上线注意事项
  • Ruby 2.x 源代码分析:扩展 概述
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • v-if和v-for连用出现的问题
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 工作手记之html2canvas使用概述
  • 工作中总结前端开发流程--vue项目
  • 延迟脚本的方式
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • linux 淘宝开源监控工具tsar
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #Linux(make工具和makefile文件以及makefile语法)
  • #pragma data_seg 共享数据区(转)
  • #在 README.md 中生成项目目录结构
  • (LeetCode 49)Anagrams
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (办公)springboot配置aop处理请求.
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (力扣)1314.矩阵区域和
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (五)c52学习之旅-静态数码管
  • (转载)从 Java 代码到 Java 堆
  • ../depcomp: line 571: exec: g++: not found
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .NET 依赖注入和配置系统
  • .net获取当前url各种属性(文件名、参数、域名 等)的方法
  • .net开发时的诡异问题,button的onclick事件无效
  • .net下的富文本编辑器FCKeditor的配置方法
  • .Net中间语言BeforeFieldInit