三元运算问题 str = "92=" + strs[i] == null ? "" : strs[i] + "|";改成str = "92=" + (strs[i] == null ? "" : strs[i]) + "|"; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为三元运算符 ? :的优先级比二元+运算符低,先运行相加运算,因此实际上上面的式子等于:str = (("92=" + strs[i]) == null) ? "" : strs[i] + "|";先运算了相加+,再判断相加后的字符串是否等于null。楼主莫非想表达:str = "92=" + ((strs[i] == null) ? "" : strs[i] + "|");这样括起来就先运行三元运算符。 关于斯坦福大学的公开课naivebayes的代码,有人填写完整了吗?可以共享一下吗?没有什么头绪啊 Linux下开发JAVA和Windows下开发JAVA有何区别 关于java的GUI对话框中父容器对象问题 如何动态加载jar包?急,在线等!!! 用Java写代码 如何使JTable的表列固定大小 JAVA新手问题系列,关于菜单的问题。 java里面运算符只重载了"+"吗? 数据输入接收的问题??高分!!! 画箭头? JNDI问题 这是什么意思
str = (("92=" + strs[i]) == null) ? "" : strs[i] + "|";
先运算了相加+,再判断相加后的字符串是否等于null。楼主莫非想表达:
str = "92=" + ((strs[i] == null) ? "" : strs[i] + "|");这样括起来就先运行三元运算符。