11String类/StringBuilder类

本文详细介绍了Java中的String、StringBuilder和StringBuffer类,包括它们的创建、常用方法以及区别。String是不可变对象,适用于简单操作;StringBuilder和StringBuffer在内存中可变,后者线程安全,适合多线程环境。在性能考虑上,StringBuilder优于StringBuffer。在进行字符串操作时,根据需求选择合适类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

String类

String string =new String();

String string =new String("123");

String string =new String(new char[]{'1','2','3'});

常用方法

length 长度

isEmpty// 判断是否为空

charAt(1)//获取字符串下表为1的字符

equals

//字符串截取

substring(3)//截取下标3开始的字符串

substring(3,6)//截取【3,6)的字符串

concat //s1.concat(“123”) 字符串的拼接/合并

replace()//字符串中字符的替换,s1.replace(‘1’,‘2’)将字符串中1用2替换

split //将字符串按照指定字符进行分割 String s1=”1-1-1-1-111-1“ s1.split(”-“);

toUpperCase /toLowerCase //转换大小写的方法

trim //去除收尾的空格 ”1 2 3 “

toString

String.valueOf(123) String.valueOf(ture) //转换为String类型

当String s1=”123“创建string对象的时候,并没有在堆内存中开辟空间,而是在栈和方法区中的字符串常量池开辟空间。

当String s2=new String(”123”);创建对象的时候,在栈 堆 方法区的字符串常量池中都开辟了空间,

StringBuilder类

String类不可变

StringBuilder,StringBuffer可变

StringBuilder常用方法

append //增加 字符串拼接

delete //删除 delete(3,4)删除[3,4)上的字符

deleteCharAt //删除 deleteCharAt(1)删除位置在1上的字符

insert// 插入 insert(2,”3“)在2的位置插入3

replace //替换 replace(3,4,”weq“) 【3,4)的位置替换为weq

setCharAt // setCharAt(1,‘2’) 替换某个位置的字符

charAt //charAt(0) 查找某个位置的字符

substring //substring(2,3)//截取【2,3)位置的字符,返回一个String类型的字符串,对stringBuilder没有影响。

String、StringBuffer、StringBuilder区别与联系

String类是不可变类,即一旦一个String对象被创建后,包含在这个对象中的字符序列是不可改变的,直至这个对象销毁。

StringBuffer类则代表一个字符序列可变的字符串,可以通过append、insert、reverse、setChartAt、setLength等方法改变其内容。一旦生成了最终的字符串,调用toString方法将其转变为String

StringBuffer是线程安全的,而StringBuilder是线程不安全的,所以性能略高。通常情况下,创建一个内容可变的字符串,应该优先考虑使用StringBuilder

StringBuilder:JDK1.5开始 效率高 线程不安全

StringBuffer:JDK1.0开始 效率低 线程安全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值