java吧 关注:1,271,466贴子:12,779,098

【面试题】一道昨天搞了半天的老题,看看理解是否已经正确

只看楼主收藏回复

昨天做了@lq14566541发的面试题,有一题搞郁闷了,后来经过吧友提点,终于搞明白了。 今天抽空画了图,感谢@goal_chasing@lq14566541。 还望吧友们帮我看看理解的对不对了。



1楼2014-03-30 16:37回复
    挽尊新人表示完全看不懂


    来自Android客户端2楼2014-03-30 16:41
    收起回复
      2025-07-28 11:53:32
      广告
      不感兴趣
      开通SVIP免广告
      .append()这个玩意要当心点,难怪要StringBuffer。如果换个String类型的+=,答案就不是这个了。


      3楼2014-03-30 16:42
      收起回复
        。。。这种问题,稍微分析一下还是没什么问题的吧,对于对象来说,他拥有的数据也就是其内部的 int,char等基本数据类型之类的成员变量,对于对象来说,你要改变他的成员变量的值,必定要调用这个对象提供的方法(最常见的就是set方法,其他方法例如StringBuffer的append方法就会改变他的成员变量--一个char[]数组的值),所以只要没看到"."运算符,不管怎么等来等去就不能改变原对象里的数据。


        IP属地:浙江8楼2014-03-30 17:15
        收起回复
          y=x又新创建了一块空间。对吧?append()引用一个地址。所以AB.B


          来自iPhone客户端9楼2014-03-30 18:23
          收起回复
            楼主厉害 我多久能学到你这个程度啊 我都学40天了 这题还是做错了


            11楼2014-03-30 21:02
            收起回复
              我是这样想的:
              栈中的引用是拷贝原有引用到新的栈内存区域 与原有引用的内存区域不同
              感觉y=x这句没啥用阿


              IP属地:北京12楼2014-03-30 22:07
              收起回复
                送经验,楼主接好............


                13楼2014-03-30 22:10
                回复
                  2025-07-28 11:47:32
                  广告
                  不感兴趣
                  开通SVIP免广告
                  待会儿我发图,你这个表示有点小,有点看不清。看看我的哈,应该很简单


                  来自Android客户端15楼2014-04-01 18:39
                  回复
                    分析的很透彻


                    本楼含有高级字体16楼2014-04-01 18:45
                    回复
                      兄弟,你看看~~~(红笔表示经过operate之后的内存示意图)PS:兄弟你真是绘得一手好图,求教啊


                      来自Android客户端17楼2014-04-01 18:52
                      收起回复
                        今天被一个业务逻辑绕晕了,不想看这些东西了。 以后想起了再回来看下
                        -----德玛上单最虎B! 不服来辩,来辩打死!


                        IP属地:上海本楼含有高级字体18楼2014-04-01 19:05
                        收起回复
                          这就是JAVA啊,看起来好神奇啊。


                          IP属地:上海19楼2014-04-01 19:14
                          收起回复
                            stringbuffer允许修改内容


                            来自Android客户端20楼2014-04-01 20:39
                            收起回复