字符串添加/拼接结果不对

图片描述

涉及java的运算吧,半个白丁不是很理解、希望的预期结果是 c=ab 但是结果是b。为什么a被置空了?求解,智商压制勿喷

阅读 2.1k
3 个回答

等同于 c = c+(a==null?"": (a+b == null?"":b));

   c = c+(a+b == null?"":b);
   c = c+(b);
   c = ""+b;
   c = b;
新手上路,请多包涵

代码等同于这句:

c=c+(a==null?"":a+b==null?"":b)

等于b没错!就不解释为什么了。其实如果你是新手,就算不是新手,也不建议你这么写代码。好几个三目运算拼接在一起,读起来很麻烦。如果你一定要这么写,那就像楼上那样加上括号,等能运算正确了再一点点去掉括号。总之,不建议写这样混乱的代码。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题