Negative int hexadecimal constant in long context
Reports negative int hexadecimal constants in long context. Such constants are implicitly widened to long, which means their higher bits will become 1 rather than 0 (e.g., 0xFFFF_FFFF will become 0xFFFF_FFFF_FFFF_FFFFL). Unlikely this is intended, and even if it is, using an explicit long constant would be less confusing.
Example:
// Warning: this is int constant -1 which is widened to long
// becoming 0xFFFF_FFFF_FFFF_FFFFL.
long mask = 0xFFFF_FFFF;
New in 2022.3
Inspection Details | |
---|---|
Available in: | IntelliJ IDEA 2023.3, Qodana for JVM 2023.3 |
Plugin: | Java, 233.SNAPSHOT |
Last modified: 13 July 2023