首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

"a"代表一个匿名String对象,那末new StringBuilder("a")是不是产生了两个对象

2011-12-06 
a代表一个匿名String对象,那么new StringBuilder(a)是不是产生了两个对象?--[解决办法]是两个对象,a

"a"代表一个匿名String对象,那么new StringBuilder("a")是不是产生了两个对象?
--

[解决办法]
是两个对象,"a"一个,new StringBuilder()一个
[解决办法]
产生两个对象
首在String池中找 是否 有 a 对象 , 有则不创建,没有则创建 一个a 对象在String池中
又有一个new 所以在内存上又创建一个a对象
所以共两个对象
[解决办法]
String a = new String("a");
第一个a在栈中,new String("a")中的a生成在堆中
栈中的a会指向在堆中的a
所以说有两个对象

热点排行