Java 学习 day15: 常用API----String

本文介绍了Java中的String类,包括其特性、构造方法和常用方法,并指出在频繁字符串拼接时不推荐使用。此外,还详细讲解了StringBuffer和StringBuilder,它们作为可变的字符串缓冲区,适合于字符串拼接操作,特别是StringBuffer在多线程环境中的安全性与StringBuilder的非线程安全性特点。

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

1.String

1.1        是什么

String是java.lang.String,因为java.lang是java核心类,所以不需要导包

String简单来说就是字符串类,底层是char数组,所以String的特性几乎和数组一致

1.字符串一旦创建,该字符串对象不能改变

2.为了提高字符串的访问效率,java虚拟机使用了一种缓存技术,可以对字符串操作更加简单方便,更加高效(字符串常量池)

3.字符串会被保存在静态区中的常量池中,可以复用性增强

当我们用到一个重复的字符串的时候,会去常量池中进行检索,如果有该字符串,则直接指向,如果没有就创建

1.2        基本使用

1.3        构造方法

 1.4        常用方法

 

 

 

 1.5        注意

使用String不推荐进行频繁的字符串拼接操作

因为字符串一旦创建不可以改变,只要拼接,就会创建新的字符串对象

浪费空间,效率还低,就等于是用定长数组频繁做添加操作一样

2.StringBuffer 和 StringBuilder

2.1        是什么

都在java.lang下,使用不需要导包

1.StringBuffer和StringBuilder是什么

是一个可变的字符串缓冲区,底层也是数组,只不过该数组会进行自动扩容适合做字符串拼接操作

2.原理:

预先在内存中创建一个空间,保存字符数组

如果预留空间不够了,会进行自动扩容,用来容纳更多的字符

默认长度为16,扩大容量为(原长度+1)*2 ; 16-> 34 - >70

3.StringBuffer和StringBuilder的区别

StringBuffer:县城安全,在多线程环境中使用,没有问题

StringBuilder:非线程安全,多线程环境下使用

2.2       使用方式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值