目的:为了效率和安全
首先要理解下面两种给String赋值的差别
String dota1 = "sf";
String dota2 = new String("pudge");
dota1是直接去字符串池里面去找 有不有 sf 这个字符串
dota2是先开辟了新的堆空间,然后赋值
String 为final类的时候:
1.才能用到字符串池的概念,这样节省很多空间。
2.String不可变,数据库连接,多线程,类加载才是安全的
3.不能被继承,作为jdk核心类,这样安全,不会被修改