当前位置:  开发笔记 > 编程语言 > 正文

通过滥用if语句中的三元条件调用条件方法?

如何解决《通过滥用if语句中的三元条件调用条件方法?》经验,为你挑选了1个好方法。

最近,我正在进行代码审查,并遇到了这个人:

if(!sharePermission.isExpired() ? activePermissions.add(sharePermission) : expiredPermissions.add(sharePermission));

基本上,使用三元表达式来调用返回布尔值并将其包装在if(...)语句中的方法,以满足成为独立语句的要求。这是否比

if(!sharePermission.isExpired())
   activePermissions.add(sharePermission); 
else 
   expiredPermissions.add(sharePermission); 

如果您真的需要将代码压缩为一行?当包裹在if(...)?中时,是否为从三元表达式返回的值分配了额外的空间?

我不喜欢他们两个,只是好奇。



1> Andy Turner..:

这样if做是对语句的滥用,不要介意条件表达式。

编写完整的if语句,或使用条件运算符选择要添加到的列表,会更清洁。

List list = isExpired() ? expiredPermission : activePermission;
list.add(sharePermission);

推荐阅读
N个小灰流_701
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有