【java笔记】StringBuilder类
字符串拼接问题:
String类的对象内容不可改变:字符串的底层是一个被final修饰的数组,不能改变,是一个常量
所以每当进行字符串拼接时,总是会在内存中创建一个新的对象
进行字符串的相加,内存中就会有多个字符串,占用空间多,效率低下
例:
String s="hello";
s+="world";
System.out.println(s);
总共创建了三个字符串,“hello”, "world" "hello world"
引用变量s首先指向"Hello”,最终指向"helloworld"
StringBuilder类:
字符串缓存区,可以提供字符串的操作效率(看成一个长度可以变化的字符串)
底层是一个没有被final修饰的数组
允许采用多线程的方式添加或删除字符。
如果所有 字符串编辑操作都是在单个线程中执行,则应该使用StringBuilder类。
stringBuilder的构造方法:
public StringBuilder(): 构造一个空的StringBuilder容器
StringBuilder bu1=new StringBuilder();
public StringBuilder(String str): 构造一个StringBuilder容器,并将字符串添加进去
StringBuilder bu2=new StringBuilder("abc");
StringBuilder类常用成员方法
public StringBuilder append(..):添加任意类型数据的字符串形式,并返回当前对象自身
StringBuilder bu1=new StringBuilder();
StringBuilder bu2=bu1.append("abc");
//bu1:abc
//bu2:abc
bu1与bu2地址值相同
还可以写成
bu1.append("abc");
bu1.append(1);
bu1.append(1.1);
还可以写成:
bu1.append("abc").append(1).append(1.1);
链式编程:方法返回值是一个对象,可以根据对象继续调用方法
tostring方法:
public String toString():将当前StrnigBuilder对象转换为String对象
StringBuilder和String可以相互转换
String->StringBuilder(String str):使用StringBuilder的构造方法
StringBuilder->String: 可以使用StringBuilder中的tostring转换为String对
总结:
int length():返回构建器或缓冲器中代码单元数量
StringBuilder delete(int startIndex,int endIndex):删除偏移量从startIndex到endIndex-1的代码单元并返回this
【java笔记】StringBuilder类相关推荐
- 【Java】StringBuilder类、包装类
1 StringBuilder类 1.1 String的劣势 String类中字符串是常量,创建后不能更改 //底层是final修饰的数组 private final byte[] value; 字符 ...
- JAVA笔记11__File类/File类作业/字节输出流、输入流/字符输出流、输入流/文件复制/转换流...
/*** File类:文件的创建.删除.重命名.得到路径.创建时间等,是唯一与文件本身有关的操作类*/ public class Main {public static void main(Strin ...
- JAVA笔记:shape类(接口,继承,lambda表达式...)
目录 写一段程序,实现shape面积,并可以对面积大小排序 定义父类shape类,并定义方法Area() 定义第一个子类Circle类 定义第二个子类Rect类 定义接口Comparator,并写入c ...
- 【java笔记】类与对象(定义,创建,使用,标准的类,对象数组)
面向对象的特征: 封装,继承,多态 类:一组相关属性(数据成员)和行为(成员方法)的集合.抽象出事物的属性和行为来描述事物. 对象:一类事物的具体体现. 类和对象的关系: 类的定义: 例:定义一个学生 ...
- Java笔记07——类和对象
目录 1. 面向对象---概述 1.1 啥是面向对象编程? 1.2 为什么要面向对象编程 1.3 面向对象学什么? 总结一 2 创建和设计 类 2.1 什么是 类? 2.2 什么是对象? 2.3 如何 ...
- Java笔记-常用类String
常用类String 在 Java 中字符串属于对象,Java 提供了 String 类来创建和操作字符串. String 创建的字符串存储在公共池中. import java.util.Arrays; ...
- Java笔记(六)——类和对象(上) 类的定义 / 初始化 / toString
1 类和对象的初步认识 1.1 主观理解 1.2 代码/语法的角度 2 类的定义和使用 2.1类的定义.实例化 2.2 常见的类定义错误 3 类的成员 3.1 成员变量/属性/字段 3.2 方法 4 ...
- Java笔记09——类和对象
面向对象的两个要素:类和对象 类:是对一类事物的描述,是抽象的,概念上的定义. 对象:实际存在的某类事物的个体,也称为实例(instance). 属性: 类中的成员变量 行为:类中的成员方法 生活中描 ...
- 【java笔记】类/接口作为成员变量类型
类/接口 作为成员变量 以英雄角色为例,有姓名,年龄,武器(类),技能(接口),攻击(方法) 技能接口: public interface Skill {void use();//使用技能的抽象方法 ...
- 【java笔记】类的抽象
如果父类当中的方法不确定如何进行{}方法体实现,那么这就应该是一个抽象方法 抽象方法和抽象类的定义格式: 抽象方法:加上abstract关键字,然后去掉大括号,直接分号结束 抽象类:抽象方法所在的类, ...
最新文章
- Coinbase内部调查未发现比特币现金内幕交易证据
- 【面试必会】editplus使用教程java
- 一起用C#做个五子棋的小游戏 增加了程序对战功能
- 光流 | 基于Matlab实现Lucas-Kanade方法:方法2(附源代码)
- 大开眼界!终于等到这部每一帧都是壁纸的纪录片!
- edge robert matlab,哪位熟悉matlab的大神路过瞄一眼哈
- 高等数学下-赵立军-北京大学出版社-题解-练习10.4
- java做橡皮擦效果_HTML5 canvas橡皮擦擦拭效果
- 直播预告 | 企业CICD规模化落地
- db2 查看表结构_数据库结构文档的生成利器
- 【论文写作】SSM超市管理系统如何写可行性分析
- python名片管理教程_[Python]名片管理系统
- STM32单片机网络通信调试
- (2022-2028年年)全球与中国实验室开发试验(LDT)行业发展调研与市场前景预测报告
- 在EXCEL中插入超级链接
- 中学语文教学参考杂志社中学语文教学参考编辑部2022年第27期目录
- 未来计算机的硬件发展趋势,整理计算机硬件发展史以及计算机硬件发展趋势
- 【WPS表格】数据透视表刷新后,保持格式不变
- 最近几天支付宝群里都在议论网商贷额度突然降低和消失,这是怎么回事?
- 【MMDetection3D】MVXNet踩坑笔记