三目运算符bug?原来是这样的!
2017-08-18 15:48
218 查看
代码1:
输出:
代码2:
输出2:
事实上:是运算符优先级的问题!
+优先级比==高,因此先进行+运算,再==运算
因此结果显示前面的字符串被屏蔽了!就这么讽刺的考了下你的基础怎么样!
String name0 = null; Integer isDisplay0 = null; System.out.println("Integer测试:"+isDisplay0 == null?"":isDisplay0+"---I"); System.out.println("String测试:"+name0 == null?"":name0+"---S");
输出:
null---I null---S
代码2:
String name0 = "123"; Integer isDisplay0 = 123; System.out.println("Integer测试:"+isDisplay0 == null?"":isDisplay0+"---I"); System.out.println("String测试:"+name0 == null?"":name0+"---S");
输出2:
123---I 123---S
遇到这种问题,当时很懵逼,怎么三元运算符将前面的字符串给屏蔽了?,,,,
事实上:是运算符优先级的问题!
+优先级比==高,因此先进行+运算,再==运算
"Integer测试:"+isDisplay0 == null?"":isDisplay0 相当于 ("Integer测试:"+isDisplay0 )== null?"":isDisplay0
因此结果显示前面的字符串被屏蔽了!就这么讽刺的考了下你的基础怎么样!
相关文章推荐
- CommandBuilder 原来有这样一个作用(转)
- 原来HIBERNATE还可以这样用啊。。。动态表名
- DFS解决任意组合原来这样简单
- 自定义的tabbar在跳转之后隐藏tabbar后,tabbar原来的位置不能响应点击事件,这样解决
- 原来路由器可以这样设置--CiscoSDM
- 原来你是这样的http2......
- 原来你是这样的Websocket--抓包分析
- 开心网 原来是这样来发展会员的
- 搞了一上午,原来是Cf1.0在windows mobile 2003 se版本的一个bug
- 原来新手是这样的
- 原来是这样
- 春寒料峭,原来春天这样走近
- 突然明白了原来我的QQ密保是这样被盗的
- 中国的悲哀:电视剧原来是这样审查的!瞬间跪了!
- 今天才发现MSSQLServer2000的排序功能原来这样
- 【实习总结】原来一个项目可以烂成这样
- str的format原来是这样用的
- GMER原来是这样执行命令行命令的……
- 呵呵,原来JAVA文件是这样运行的。