Inspectopedia Help

Unnecessary zero length array usage

Reports allocations of arrays with known lengths of zero when there is a constant for that in the class of the array's element type. As zero-length arrays are immutable, you can save memory reusing the same array instance.

Example:

class Item { // Public zero-length array constant that can be reused public static final Item[] EMPTY_ARRAY = new Item[0]; } class EmptyNode { Item[] getChildren() { // Unnecessary zero-length array creation return new Item[0]; } }

After the quick-fix is applied:

class EmptyNode { Item[] getChildren() { return Item.EMPTY_ARRAY; } }

Locating this inspection

By ID

Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.

ConstantForZeroLengthArrayAllocation
Via Settings dialog

Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.

Settings or Preferences | Editor | Inspections | Java | Memory

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.2, Qodana for JVM 2024.2,

Can be installed with plugin:

Java, 242.22892

Last modified: 11 September 2024