String类
String类的定义:
public final class String
extends Object
implements Serializable,Comparable<String>,CharSequence
字符串是常量,它们的值一旦创建之后就不能修改。
字符串赋值的方式
a)字面值赋值
b)new 对象赋值
String Pool(字符串池)
方式一:String string=”test”;(使用字面值得方式赋值)
a) 首先查找String Pool中是否存在“test”这个对象,如果不存在,则在String Pool中创建一个”test”对象,然后将String Pool中的这个”test”对象地址返回来,赋给引用变量string,这样string就会指向String Pool中这个”test”字符串对象。
b) 如果存在,则不创建任何对象,直接在String Pool中的这个“test”对象地址返回来,赋给string引用。
方式二:String string=new String(“test”);
a) 首先在String Pool中查找有没有”test”这个字符串对象,如果有,则不在String Pool中再去创建”test”这个对象,直接在堆(heap)中创建一个”test”字符串对象,然后给你堆中的这个对象地址返回来,赋给string引用,导致string指向了堆中指向堆中创建的这个”test”字符串对象
b) 如果String Pool中没有,则首先在String Pool中创建一个”test”对象,然后再在堆中创建一个”test”对象,然后将堆中的这个”test”对象的地址返回,赋给string引用,导致string指向了堆中所创建的这个”test”对象
方法概述: API,文档上面的方法是介绍最全最好的。