java吧 关注:1,246,452贴子:12,725,425

大家都转行算了。。。

只看楼主收藏回复


输出结果是什么


IP属地:日本1楼2017-07-31 17:40回复
    除了第一个都是true


    IP属地:四川来自Android客户端2楼2017-07-31 19:37
    收起回复
      最近这么多转行题,有意思


      IP属地:广东来自Android客户端4楼2017-07-31 22:13
      回复
        f,t,t,t


        IP属地:浙江来自Android客户端5楼2017-07-31 22:16
        回复
          string,stringbuffer,stringbuiler


          IP属地:浙江来自Android客户端6楼2017-07-31 22:17
          收起回复
            都是false,
            这个不是字符串内容是否相同的问题
            而是比较的问题
            ==比较的是字符串指向的地址, 无论内容是否相等指向的地址都不会一样
            应该用equals才是比较字符串的内容
            当然, 如果初始化的时候内容是一样的,则会默认是指向同一个地址
            如:
            String a="x";
            String b="x";
            则a==b是true


            7楼2017-07-31 22:54
            收起回复
              new的话,会存储在堆里面,相同的值会有多个。直接声明会存储在静态变量区,相同的值只有一个。


              来自Android客户端8楼2017-07-31 23:29
              回复
                七楼说的对,java有字符串常量池和整形常量池。


                来自iPhone客户端9楼2017-08-01 06:18
                回复
                  好好想想你为什么会被卖黄片的盯上


                  IP属地:安徽来自Android客户端10楼2017-08-01 07:09
                  回复
                    false,true,true,true


                    IP属地:安徽来自Android客户端11楼2017-08-01 07:16
                    回复
                      有没有人仔细解释以下,解释清楚了,我就转行~~~


                      IP属地:江苏13楼2017-08-01 08:37
                      收起回复
                        具体的知识点涉及到哪几个??


                        IP属地:江苏14楼2017-08-01 08:37
                        回复
                          object有方法equals是比较两个对象地址的,String对这个方法进行了重写,只比较内容


                          IP属地:浙江来自Android客户端15楼2017-08-01 08:39
                          回复
                            String的创建是有多种情况的,首先,如果是声明用的是常量或者全部由常量池得量创建则第一次遇到在常量池创建,之后直接引用常量池得那个STRING


                            IP属地:浙江来自Android客户端16楼2017-08-01 08:41
                            回复