主にプリミティブ型として使用されているラッパー型のローカル変数を報告します。

ループ内など、場合によってはボクシングによってパフォーマンスが大幅に低下する場合があります。

ボクシング操作の数を予測するため、ヒューリスティックが適用されます。 たとえば、ループ内の変換ははるかに多いと見なされます。

例:

  public void example() {
    Integer value = 12;
    needBox(value);
    for (int i = 0; i < 10; i++) {
      // ループの使用頻度は高いと見なされます
      needPrimitive(value);
    }
  }

  void needPrimitive(int value) {}
  void needBox(Integer value) {}

クイックフィックス適用後:

  public void example() {
    int value = 12;
    needBox(value);
    for (int i = 0; i < 10; i++) {
      // ループの使用頻度は高いと見なされます
      needPrimitive(value);
    }
  }

  void needPrimitive(int value) {}
  void needBox(Integer value) {}

2018.2 の新機能です