首页 > 代码库 > java基础复习之对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

java基础复习之对于String对象,可以使用“=”赋值,也可以使用new关键字赋值,两种方式有什么区别?

String类型是实际工作中经常用到的类型,从数据类型上划分,String是一个引用类型,是API中定义的一个类。所以String类型的对象可以用new创建,例如String name=new String("string");为变量name进行赋值,值为“string” ,然而String类比其他类有些特殊,可以使用‘=‘直接赋值,如 String name="string";也是为变量name进行赋值,值为"string",这两种赋值是有差别的,使用new赋值,永远都是创建一个新对象,在新的内存空间初始化了字符串的值,而使用“=”赋值,不会每次都初始化新的字符串,而是从一个“字符串实例池”中查找有没有要赋值的字符串,如果有则直接引用,如不存在,则初始化一个字符串,并放入“字符串实例池”。在实际编程中,往往使用“=”好对String类型变量进行赋值。