java - 您将如何在(惯用的)scala 中编写此 java 代码?

标签 java scala if-statement

int increment = 0;

if (StringUtils.isNotBlank(request.getParameter(NEXT_SCREEN_PARAMETER_NAME))) {
    increment = 1;
} else if (StringUtils.isNotBlank(request.getParameter(PREV_SCREEN_PARAMETER_NAME))) {
    increment = -1;
} else if (StringUtils.isNotBlank(request.getParameter(LAST_SCREEN_PARAMETER_NAME))) {
  increment = Integer.MAX_VALUE;
}

最佳答案

我认为您一开始会尽量避免以这种方式设置问题,但如果这是您必须处理的问题,我认为最清楚的是

def testParam(s: String) = StringUtils.isNotBlank(request.getParameter(s))
val increment = (
  if (testParam(NEXT_SCREEN_PARAMETER_NAME)) 1
  else if (testParam(PREV_SCREEN_PARAMETER_NAME)) -1
  else if (testParam(LAST_SCREEN_PARAMETER_NAME)) Int.MaxValue
  else 0
)

关于java - 您将如何在(惯用的)scala 中编写此 java 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519799/

相关文章:

java - Mockito:如何在 Spring bean 中部分模拟字段依赖关系

java - HBase 未在 Windows 上以独立模式启动

java - 尝试使用 opencv 获取圆心

Java/Scala Kafka Producer 不向主题发送消息

scala - Intellij编译失败: "is already defined as"

c - 否则,如果在确定C中的If年时出错

java - 数据库连接错误

scala - Slick 3.0.0 - 如何使用 joinLeft 对查询进行排序

java - java中比较字符串的问题

java - 如何在 if else 条件下使用 firebase 查询