Java的String和StringBuilder

一、String对象的创建

Java的String和StringBuilder

 

二、String类的常用方法

Java的String和StringBuilder

 

三、String类的本质

String类本质是一个字符数组

Java的String和StringBuilder

 

四、String与字节数组的转换

在默认的UTF-8编码下转成字节数组并且输出

Java的String和StringBuilder

Java的String和StringBuilder

在默认的UTF-8编码下,将字节数组再次转成字符串,并输出查看

Java的String和StringBuilder

使用指定编码格式,将字符串转成字节数组,或者将字节数组转成字符串

Java的String和StringBuilder

 

五、String中的 == 和 equal 方法区别

 == :对于基本数据类型,比较的是具体的值;

         对于引用数据类型,比较的是引用的地址是否相同; 比如对象,比较的是引用的地址是否相同。

         在String中,如果直接用字符串赋值,那么比较的是常量池里的数值,如果用new方式创建,那么比较的是引用地址

equal方法:

           如果一个类没有自己定义 equals 方法,它默认的equals 方法(从Object 类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象 

          如果希望比较该类创建的两个实例对象的内容是否相同,那么你必须覆盖 equals 方法

          String类的equal方法,已经重写了,比较的是字符串的内容是否相同

 

Java的String和StringBuilder

栈:存放类的引用

常量池:存放字符串常量

堆:存放new创建的对象

Java的String和StringBuilder

 

六、String的不可变性

Java的String和StringBuilder

Java的String和StringBuilder

Java的String和StringBuilder

Java的String和StringBuilder

 

 

七、StringBuilder介绍

 

Java的String和StringBuilderJava的String和StringBuilder

Java的String和StringBuilder