字符串
A.介绍:
1.String是java定义好的一个类。定义在java.lang包中,所以使用的时候不需要导包。
2.java程序中的所有字符串文字(eg.“adsf”)都被视为此类的对象
3.字符串不可变,他们的值在创建后不能被更改。
B.创建String的两种方式:
https://img2024.cnblogs.com/blog/3659684/202508/3659684-20250829234725088-228817948.png
传递一个字符数组,根据字符数组的内容再创建一个新的字符串对象.
需求:我要修改字符串内容
char[] chs = {'a','b','c','d'};
String s4 = new String(chs);
soutp(s4) >>>>abcd
传递一个字节数组,根据字节数组的内容再创建一个新的字符串对象.
应用场景:以后在网络当中传输的数据其实都是字节信息。我们一般要把字节信息进行转换,转换成字符串,需要用到这个。
byte[] bytes = {97,98,99,100};
byte s5 = new String(bytes);
soutp(s5) >>>>abcd------(把数字对应到ASCII表里)
C.java的内存模型:
https://img2024.cnblogs.com/blog/3659684/202508/3659684-20250829235038854-1309737997.png
D.java常用方法(比较)(==)
https://img2024.cnblogs.com/blog/3659684/202509/3659684-20250901214959631-1511399186.png
new出来的是在堆里,直接赋值是在串池里面的
https://img2024.cnblogs.com/blog/3659684/202509/3659684-20250901215159546-94435289.png
基本数据类型:比的是数据值
引用数据类型:比的是地址值
E.字符串比较(比较内容)
https://img2024.cnblogs.com/blog/3659684/202509/3659684-20250901215944027-839216742.png
M1: boolean res1 = s1.equals(s2);
M2: boolean res1 = s1.equalsIgnoreCase(s2);
F. 遍历字符串
https://img2024.cnblogs.com/blog/3659684/202509/3659684-20250908154847706-1920690429.png
char在比较的时候会自动转换成int,对应到ascll表中
G. 截取字符串
对字符串本身没有影响,返回值才是截取的字符串
https://img2024.cnblogs.com/blog/3659684/202509/3659684-20250911213645773-690556391.png
H. Stringbuilder
它可以堪称是一个容器,创建之后里面的内容是可变的
https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251013072558912-198272422.png
Stringbuider常用方法
https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251013072726047-1479919752.png
https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251013081452408-279166902.png
StringBuilder是java已经写好的类,java在底层对它做一些特殊处理,打印对象不是地址值而是属性值
链式编程:
sb.append("aaa").append("bbb").append("ccc")
使用场景:
1.字符串的拼接
2.字符串的反转
StringJoiner
和stringbuilder一样,也可以看成一个容器,创建之后里面的内容是可变的。
作用:提高字符串的操作效率,而且代码编写特别简洁(https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251030130222047-1010790895.png =763x326)
构造/使用方法:
https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251030130513856-143119614.png =666x315
example:
https://img2024.cnblogs.com/blog/3659684/202510/3659684-20251030131157322-2125308415.png =714x479
总结 String/Stringbuilder/Stringjoiner
- string: 表示字符串的类,定义了很多操作字符串的方法
- Stringbuilder:一个可变的操作字符串的容器。可以高效的拼接字符串,还可以将容器里面的内容反转
3.Stringjoiner:一个可变的操作字符串的容器。可以高效的拼接字符串。

浙公网安备 33010602011771号