大家好,欢迎来到IT知识分享网。
项目场景:
三目表达式的错误使用
问题描述:
使用三目表达式报错
map2.get(poll) == 1 ? map2.remove(poll) : map2.put(poll, map2.get(poll) - 1);
原因分析:
@青衫白衣小黑炭 (来自q群大佬)
条件表达式不能单独使用
简单来说,可以理解成条件表达式是有一个返回值的,而且这个返回值必须使用(这个只是抽象理解)
可以给它赋值,也可以当成参数传递给函数,就是不能直接使用
解决方案:
按下alt+enter,系统给出两套解决方案
Integer integer = map2.get(poll) == 1 ? map2.remove(poll) : map2.put(poll, map2.get(poll) - 1);
if (map2.get(poll) == 1) {
map2.remove(poll);
} else {
map2.put(poll, map2.get(poll) - 1);
}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/15010.html