文章目录
目录
文章目录
前言
String类的重要性:
一.String类简介
二.String底层源码剖析
三.字符串构造
三.字符串的比较
四.String类常用方法
1.字符串查找
2.字符串转化
2.1 大小写转换
2.2 数组转字符串
2.3数值和字符串转化
2.4 格式化
编辑 3 字符串替换
编辑 2.4 字符串拆分
2.5 字符串截取
编辑 2.6 其他操作方法
五.字符串的不可变性
六.字符串修改
总结
前言
大家好,我是最爱吃兽奶,这篇博客给大家详细说说java中的String类
String类的重要性:
在C语言中已经涉及到字符串了,但是在C语言中要表示字符串只能使用字符数组或者字符指针,可以使用标准库提 供的字符串系列函数完成大部分操作,但是这种将数据和操作数据方法分离开的方式不符合面相对象的思想,而字符串应用又非常广泛,因此Java语言专门提供了String类。
学习路线:
1. 认识 String 类
2. 了解 String 类的基本用法
3. 熟练掌握 String 类的常见操作
4. 认识字符串常量池
5. 认识 StringBuffer 和 StringBuilder
接下来,让我们踏上学习之旅吧!
一.String类简介
上图参考官方文档不难看出
1.String是一个字符串类
2.字符串是常量,在被创建之后就不可在被更改
二.String底层源码剖析
科普:
序列化是什么?
序列化(Serialization)可以简单理解为是将对象的状态信息,转换为可以存储或传输的形式的过程
三.字符串构造
String的构造方法很多,在这里我我将给大家介绍三种常见的构造
内存分析
三.字符串的比较
基本数据类型的比较比较的变量中存储的值是否相同
引用数据类型则是比较是否引用了同一个对象
当然了,内存少不了!
这个时候或许就有人问了? 我想区分兽宝一号和兽宝二号难道只能找到它们吗?
既然你提出了疑问! 那么不管行不行,我只会说一个字,行!
如果我们想要比较的话我们可以通过compareto方法进行比较,还记得吗? String实现了comparable接口,关于具体的细节,这里不展开了,想要了解的请看博主的博文http://t.csdn.cn/b82tk
在这里展开另一种比较方法 equals
官方文档
源码
测试一下
现在我们只需要知道名字就能区分兽宝一号和兽宝二号了!
四.String类常用方法
1.字符串查找
String的方法也是相当得多,下面给大家列出重要的方法,并演示一部分
2.字符串转化
2.1 大小写转换
2.2 数组转字符串
2.3数值和字符串转化
2.4 格式化
3 字符串替换
2.4 字符串拆分
String[] split(String regex) //将字符串全部拆分
String[] split(String regex,int limit)// 将字符串以指定的格式,拆分为limit组
2.5 字符串截取
String substring(int beginIndex) 从指定索引截取到结尾
String substring(int beginindex,int endindex) 截取部分内容
2.6 其他操作方法
有想法的可以自行尝试,这里就不做演示了
五.字符串的不可变性
String是一种不可变的对象,字符串中的内容不可变,字符串不可以被修改
六.字符串修改
在上面修改方式中底层会创建许多临时变量,不建议
如果想要啊修改,建议使用StringBuilder或者StringBuffer
想要了解更多关于StringBuilder和StringBuffer的内容,敬请期待博主后面的博文
总结
以上就是主要内容了,重点应该放在去理解字符串的比较和方法上,要注重理解字符串的本质实际上是字符数组,另外,自己动手敲敲代码哦!