GroovyはJavaの通常のif-else構文をサポートします。
また、Groovyは三項演算子もサポートします。
Groovyのswitch文はJavaと後方互換がありますので、複数の条件に一致するような継続するタイプのcase文には同じコードを使うことができます。
1つ違うのはGroovyはどんな種類のスイッチ値でも扱うことができ、異なる種類のマッチングを実行できることです。
switchは次のような比較をサポートします。
case文は isCase(switchValue) メソッドを使ってcase値と 一致 するかを評価します。それはデフォルトでは equals(switch値) を呼び出します。Classや正規表現などのさまざまなタイプはそれをオーバーロードしているのです。
ですので、一致を判定するためのをクラスを独自で作ることができ、そのためには独自の一致判定方法を提供するために isCase(switch値) を追加すればよいのです。