首页 > 代码库 > 创建String字符串的方式与区别
创建String字符串的方式与区别
Java中创建一个字符串的方式有很多种,常见如:
String s = new String("riqi");String s = "riqi";
但两者有什么区别呢?
要知道,Java中new一个对象实际上是在栈内存中创建一个引用类型指向到堆内存中的对象,而字符串对象一旦创建就不能变更。
Java为String类型提供了缓冲池机制,即当使用双引号方式创建字符串对象时,Java环境首先会从字符串缓冲池中寻找相同内容的字符串,如果找到则直接拿过来使用,如果没有则创建一个新的字符串并添加到字符串缓冲池中。比如:
String s1 = "riqi";String s2 = "riqi";
可以理解为变量s1和s2同时指向了堆内存中字符串缓冲池中同一个字符串存储对象。
因为有缓冲池的机制,因此需要new一个字符串对象时,一般采用String s = "riqi"的方式,效率更高。
创建String字符串的方式与区别
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。