你会如何在(惯用)scala中编写这个java代码?

Sla*_*idt 4 java if-statement scala

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;
}
Run Code Online (Sandbox Code Playgroud)

Rex*_*err 12

我想你会尽量避免以这种方式设置问题,但如果这是你必须处理的问题,我认为最清楚的就是这样

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
)
Run Code Online (Sandbox Code Playgroud)