java吧 关注:1,311,248贴子:12,893,810
  • 25回复贴,共1页
为何if里面不能用字符串变量==字符串来执行,就像if(a=="why")为何不能执行,a是用input.nextLine()来输入的


IP属地:陕西来自Android客户端1楼2014-10-30 01:20回复
    当给a赋值为why的时候,直接会执行else的部分


    IP属地:陕西来自Android客户端2楼2014-10-30 01:21
    回复
      2026-10-17 01:54:30
      广告
      不感兴趣
      开通SVIP免广告
      用equals()


      IP属地:陕西来自Android客户端3楼2014-10-30 01:23
      收起回复
        用==好像直接比较哈希值啊,所以永远是false


        来自Android客户端4楼2014-10-30 01:38
        收起回复
          急需,知道,一个窗体,如何写代码,有两个滚动面板


          来自iPhone客户端5楼2014-10-30 12:23
          收起回复
            基本数值类型可以用==来进行判断,String类型需要用equals()进行判断是否相等,这样比较的都是字面量,也就是你所谓的值。==比较的是内存地址,是java进行hash过得值,你的“why”相当于在内存中new String("why"),而a使用readLine()读取到值也是创建新的内存地址,so使用==比较为false,使用equals比较字面量为true


            IP属地:北京8楼2014-10-30 13:35
            回复