1. ホーム
  2. java

[解決済み] Java のスイッチケース:中括弧付きか中括弧なしか?

2023-02-05 14:31:27

質問

次の2つのスニペットを中括弧で囲んで考えてみましょう。

switch (var) {
  case FOO: {
    x = x + 1;
    break;
  }

  case BAR: {
    y = y + 1;
    break;
  }
}

中括弧なし。

switch (var) {
  case FOO:
    x = x + 1;
    break;

  case BAR:
    y = y + 1;
    break;
}

中括弧を使ったスニペットでは、各ケースを中括弧で囲むことによって新しいスコープが作成されることは知っています。 しかし、各ケースが新しいスコープを必要としない (つまり、変数名が再利用されない) 場合、ケースで中括弧を使用することで何らかのパフォーマンス上のペナルティがあるのでしょうか。

どのように解決するのですか?

は、中括弧をケースと一緒に使用することで、何らかのパフォーマンス上のペナルティを受けるのでしょうか?

ありません。

中括弧は、コンパイラが変数、条件、関数宣言などのスコープを把握するためにあるものです。コードが実行可能ファイルにコンパイルされると、実行時のパフォーマンスに影響を与えません。