在JAVA中,我可以在不指定的情况下使用条件运算符吗?
如果是任务,情况很简单
result = testCondition ? value1 : value2;
但是如果我想用它来代替if语句呢? 例如,在日志记录情况下:
logger.shouldDebbug ? logger.log("logging") : (what to do if not?);
如果我不知道在false的情况下该怎么做,我还能使用这个操作符吗
你可以在下面搜索框中键入要查询的问题!
如果是任务,情况很简单
result = testCondition ? value1 : value2;
但是如果我想用它来代替if语句呢? 例如,在日志记录情况下:
logger.shouldDebbug ? logger.log("logging") : (what to do if not?);
如果我不知道在false的情况下该怎么做,我还能使用这个操作符吗
# 1 楼答案
是的,如果你把它们包装在一个返回函数中,你可以,但不应该
在您的记录器示例中,让记录器输出无效,在未启用调试时丢弃输入
您不想用所有这些日志检查来迷惑代码。 尽可能少地、尽可能集中地进行检查
要么在记录器中进行检查。如果启用了调试,则使用日志函数,或者使用虚拟模拟替换日志,该模拟除了接受输入之外什么都不做,并立即丢弃它
如果使用log4j等标准日志框架,可以设置调试级别,只显示信息或更严重、警告或更严重、错误或更严重
其他“快速”检查也是如此。如果你发现自己经常使用某个模式,如果需要的话,可以用静态方法为它编写一个实用程序类,这样你就有一个地方需要更改内容,而不是在生产时需要更新200个代码点
# 2 楼答案
所有内容都已在评论中解释,因此我只想在这里提出一些想法:
用法示例:
但更简单的做法是: