enumsをスイッチで使用するとき、仮定することはほとんど自然である規則的なスイッチのように使用されることを。 残念ながらenumsを収容するために、ジャワは指定を高めなければなり、スイッチのenumsは重要な2および大切な方法で規則的なスイッチ声明と別様にする。

日曜日のJavacは言う- 「enumスイッチ場合のラベルは等置の定数の不適当な名前でなければならない。 秘密のエラーメッセージ。 それはおそらく多数にフランス語である。 私はこの声明を理解している私が堅いひとときを過ごしたことを知っている。

従って私達を理解する簡単な例とのこれを許可しなさい:

スイッチ(UserAgent.FIREFOX) {
    場合(UserAgent.IE):
        失敗(UserAgent.IE.toのひも() + 「予想外。」);
}

これは明らかに正しくそれ見るか。 残念ながらそれは2つの違った方法で間違っている
初めに場合はブラケットなしにあるべきである。 2番目にないUserAgent.IE IEだけ使用されるべきである。 簡単な(正しい)例の上記のポイントの両方を説明しよう:

スイッチ(UserAgent.FIREFOX) {
    場合IE:
        失敗(UserAgent.IE.toのひも() + 「予想外。」);
}

要約するため:

  • 声明がブラケットなしでenum使用されなければならなければ。
  • 不適当なenumの名前だけ(上の例のFIREFOXかIEのように)使用されなければならなければ。

そう今ジャワのenums、権利とのもう間違えないか。