long コンテキストにある負の int 16 進数の定数を報告します。 このような定数は暗黙的に long に拡張され、上位ビットが 0 ではなく 1 になります (たとえば、0xFFFF_FFFF は 0xFFFF_FFFF_FFFF_FFFFL になります)。 このような挙動が意図されている可能性は低く、たとえ意図されている場合でも、明示的に long 定数を使用するほうが混乱を招く可能性が低くなります。

例:


  // 警告: これは int 定数 -1 で、long に拡張されて
  // 0xFFFF_FFFF_FFFF_FFFFL になります。
  long mask = 0xFFFF_FFFF;

2022.3 の新機能です