java基础复习之对于String对象,能够使用“=”赋值,也能够使用newkeyword赋值,两种方式有什么差别?

String类型是实际工作中经经常使用到的类型,从数据类型上划分,String是一个引用类型,是API中定义的一个类。所以String类型的对象能够用new创建,比如String name=new String("string");为变量name进行赋值,值为“string” ,然而String类比其它类有些特殊,能够使用'='直接赋值,如 String name="string";也是为变量name进行赋值,值为"string",这两种赋值是有区别的,使用new赋值,永远都是创建一个新对象,在新的内存空间初始化了字符串的值,而使用“=”赋值,不会每次都初始化新的字符串,而是从一个“字符串实例池”中查找有没有要赋值的字符串,假设有则直接引用,如不存在,则初始化一个字符串,并放入“字符串实例池”。在实际编程中,往往使用“=”好对String类型变量进行赋值。
原文地址:https://www.cnblogs.com/lcchuguo/p/4008519.html