码迷,mamicode.com
首页 > 其他好文 > 详细

创建String字符串的方式与区别

时间:2014-12-18 01:29:12      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:blog   使用   java   div   log   as   tt   new   br   

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字符串的方式与区别

标签:blog   使用   java   div   log   as   tt   new   br   

原文地址:http://www.cnblogs.com/liuriqi/p/4170828.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!