"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
所以说有两个对象