首页 > 代码库 > String 类

String 类



String类学习笔记


String类学习三要点

1.String一旦声明就不可变,是不可变字符序列。

2.字符串缓冲池:直接通过=为字符串赋值,会先在字符串缓冲池中查询有没有一样的字符串,如果有就把那个引用赋给字符串变量,否则就会创建一个新的字符串,并把对应的新字符串放入缓冲池中。

3.字符串常用方法(查看API,最常用的要非常熟悉)

 

StringStringBufferStringBuilder区别

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 类