Java创建String的方式分为两大类:直接量创建(字符串,字符数组)、关键字new创建。两种创建方式有所差异:表现在字符串存储对象的内存区域不一样,字符串对象存储在字符串常量池或者堆内存中。
1、直接量创建(字符串,字符数组):
例子:String str = "China" ; //字符串创建方式
char[] ch= {'C' , 'h' , 'i', 'n' , 'a'}; //字符数组创建方式
使用直接量创建String对象时,如果字符串常量池中已存在创建的字符对象,则直接返回字符串对象的引用,不创建新的字符串对象;如果字符串常量池中不存在创建的字符串对象,则在字符串常量池中创建新的字符串对象并返回字符串对象的引用。
2、关键字new创建:
例子:String string = new String("China" ); //关键字new创建方式
使用关键字new创建String对象时:不管在字符串常量池或堆内存中是否已存在该字符串对象,都会在堆内存中创建一个新的字符串对象,只不过若在字符串常量池存在该字符串对象,则新创建的字符串对象的value和字符串常量池存在的字符串对象的value一致,即:新创建的字符串对象引用字符串常量池存在的字符串对象。
原文转载地址:https://blog.youkuaiyun.com/weixin_40698521/article/details/84561453
## Java之String创建篇
最新推荐文章于 2024-06-04 12:28:50 发布