groovy:如何在groovy中简化/重写此方法

5 groovy

protected int xMethod (Integer a, Integer b) {
  if (a<b)
    return 1
  else if (a>b)
    return 2
  else
    return 3
}
Run Code Online (Sandbox Code Playgroud)

我想知道在groovy中是否有某种方法可以不同地重写上述方法?因为现在非常Java风格.

Mar*_*ers 2

看起来该函数只需要根据 a 是否小于、等于或大于 b 返回 3 个不同的值。Groovy 中已经有一个运算符可以执行此操作:

a <=> b
Run Code Online (Sandbox Code Playgroud)

返回值为 -1、0 和 1。也许最好的办法是重构代码以使用此运算符而不是 xMethod(如果可能)。

当然,如果精确值 1、2 和 3 很重要,而不仅仅是 3 个不同的值,那么您就不能这样做。