目录
1. API
1.1 API概述
2. String
2.1 String概述
2.2 String构造方法
Java中的String构造方法
常见的几种
代码示例:
运行结果:
2.3 String对象的特点
String在内存中的过程:
main方法执行
String s1出现在栈内存中
在堆内存中new一片字符空间,将数组chs(001)赋值给s1(002),s1就指向chs。
和上面一样,先在栈内存中存放s2,后在堆内存中new一片空间(003),最后将chs(001)赋值给s2(003)
s1和s2比较是不相同的,因为两个对象的地址是不相同的,输出false
将String s3存放在栈内存中,值(“abc”)存放在堆内存中的常量池(004)中
String s4存放在栈内存中,因为它的值(“abc”)和s3的值是一模一样的,所以它的值也是常量池中的004(“abc”)
比较s3和s4,因为两个对象的地址是相同的,所以输出true
比较s1和s3,因为两个对象的地址是不相同的,所以输出false
2.4 字符串的比较
代码示例:
运行结果:
2.4.1 字符串的遍历
代码示例:
运行结果:
2.5 通过帮助文档查看String中的方法
3. StringBuilder
3.1 StringBuilder概述
先执行main方法,然后String s,常量池中添加"hello",s +=“wordl”;=s = s + “word”;常量池中没有word创建一个。
输出"helloword"
.但是
StringBuilder概述
3.2 StringBuilder的构造方法
3.3 StringBuilder的添加和反转
代码示例:
因为sb.append(“hello”)返回的是对象自己,所以这行代码也是StringBuilder sb2 = sb;但是这个sb对象是有值(hello)的。
所以他俩都是hello,比较也是相同的
因为append返回的是对象本身,所以我们完全可以不用对象接受。
运行结果:
我们还可以采用另一种方法叫做链式编程
因为append返回的是对象本身,所以我们还可以使用方法。
运行结果:
也是一样的。
3.4 StringBuilder和String相互转换
- 为什么要相互转换?
因为StringBuilder有两个比较好用的方法,一个是append和revers,而String想使用这个两个方法是直接使用不了的。
所以我们要把StringBuilder转为String,使用完后我们还要将String转为StringBuilder。
代码示例,将StringBuilder转化为String:
运行结果:
代码示例,将String转化为StringBuilder:
运行结果: