Java中“String类“(超详细)

文章内容仅代表个人理解,如有错误欢迎到评论区指点,文章内容仅供参考——


本篇对java中的"抽象类和接口"进行详细的讲解

本期会分成一下四部分进行讲解:

  1. String 内存表现形式
  2. String 类的常用方法
  3. String 与 StringBuffer 和 StringBuilder 的区别
  4. String 常用知识和技巧

一、String 内存表现形式

1. 不可变性
  • 不可变对象String 在 Java 中是不可变的,一旦创建就不能更改。每次对 String 的修改都会创建一个新的 String 对象。
  • 原因:不可变性有助于实现线程安全,并允许字符串池的使用。
2. 字符串池
  • 字符串池(String Pool):Java 中的字符串池是一个特殊的内存区域,用于存储字符串字面量。它使得相同内容的字符串字面量只存储一份,节省内存。

  • 例子

        

        

3. new 关键字创建字符串
  • 不同于字面量:使用 new 关键字创建的字符串不会在字符串池中查找,而是直接在堆中创建一个新的对象

        

        


二、String 类的常用方法

1. length()
  • 返回字符串的长度。  

        

        

2. charAt(int index)
  • 返回指定索引处的字符。

        

        

3. substring(int beginIndex, int endIndex)
  • 返回一个新字符串,它是此字符串的一个子字符串。[  左闭右开 )

        

        

4. indexOf(String str)
  • 返回指定子字符串在此字符串中第一次出现的索引。

        

        

5. equals(Object anObject)
  • 比较此字符串与指定对象是否相等。

        

        

6. toUpperCase() 和 toLowerCase()
  • 返回一个新的字符串,它将此字符串中的所有字符都转换为大写或小写。

        

        

7. trim()
  • 返回一个新的字符串,去除首尾空白字符。

        

        

8. replace(CharSequence target, CharSequence replacement)
  • 替换此字符串中所有出现的指定字符序列的字符。

        

9. split(String regex)
  • 根据给定的正则表达式分割此字符串,并返回一个String数组。


三、String 与 StringBuffer 和 StringBuilder 的区别

1. 不可变性
  • String:不可变,一旦创建无法更改。
  • StringBuffer 和 StringBuilder:可变,允许修改内容。
2. 线程安全
  • StringBuffer:线程安全,所有方法都被 synchronized 修饰,适用于多线程环境。
  • StringBuilder:非线程安全,性能比 StringBuffer 高,适用于单线程环境。
3. 性能
  • 性能比较StringBuilder > StringBuffer > String


四、String 常用知识和技巧

1. 字符串拼接
  • 使用 + 运算符拼接字符串时,如果拼接次数多,建议使用 StringBuilder 来提高性能。

        

        

2. 格式化字符串
  • 使用 String.format 方法来格式化字符串。

3. 字符串比较
  • 使用 equals 方法进行字符串比较,而不是 ==

        

4. 字符串转换
  • 将其他类型转换为字符串使用 String.valueOf 方法。

        

        

5. 字符串连接
  • 使用 String.join 方法来连接多个字符串。


好啦看到这里想必您对Java中的类和对象有了新的认知和了解,如果对您有帮助的话请帮我点个一件三连!谢谢!谢谢!谢谢!

我只是个初学者——

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一条小鱼儿~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值