首页 > 代码库 > String 类
String 类
String类学习笔记
String类学习三要点
1.String一旦声明就不可变,是不可变字符序列。
2.字符串缓冲池:直接通过=为字符串赋值,会先在字符串缓冲池中查询有没有一样的字符串,如果有就把那个引用赋给字符串变量,否则就会创建一个新的字符串,并把对应的新字符串放入缓冲池中。
3.字符串常用方法(查看API,最常用的要非常熟悉)
String、StringBuffer、StringBuilder区别
StringBuffer(线程安全,效率低,多线程使用) && StringBuilder(线程不安全的,效率高,推荐使用)
PS:他们和String最大不同就是内容可变的
方法连缀:stringbuffer.append()
.append()
.append();
要想理解好String类不可变性,就得从内存开始分析,栈内存和堆内存。
Java里面如果涉及区间的一般都是半开半闭,左开右闭。
equals 和= = 区别
PS:equals和= =的区别:(一个是地址一个是内容)
1.equals比较的是堆内存的内容
2.= =比较的是栈内存的引用地址
简单理解可以像如上那么理解,但是如果深入Object源码的时候就会发现,equals比较的其实也是地址,只是String覆盖了父类Object的equals方法,使其变成了比较内容了。
PS:Date && DateFormat
Date:是一个封装了时间的类 Date date=new Date();
DateFormat:是一个时间、字符串格式化抽象类 一般使用其子类:SimpleDateFormat
最经常使用的就是SimpleDateFormat
PS:Random && Math
Random:主要产生随机数
Math:有很多数学方法,Math的方法都是static 方法
静态导入:举例 ---- import static java.lang.Math.*; 用的比较少,了解即可。
String类和其它的类有点不同,需要注意,String也是很多开发语言中最常使用的一个类。
String 类