Reports "magic numbers", which are numeric literals used without being named by a constant declaration. Magic numbers can result in code whose intention is unclear, and may result in errors if a magic number is changed in one code location but not another. The numbers 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 100, 1000, 0L, 1L, 2L, 0.0, 1.0, 0.0F and 1.0F are not reported by this inspection.

Example:


  void checkFileSize(long bytes) {
    if (bytes > 1_048_576) {
      throw new IllegalArgumentException("too big");
    }
  }

A quick-fix is suggested to introduce a new constant:


  static final int MAX_SUPPORTED_FILE_SIZE = 1_048_576;

  void checkFileSize(long bytes) {
    if (bytes > MAX_SUPPORTED_FILE_SIZE) {
      throw new IllegalArgumentException("too big");
    }
  }

Use the first checkbox below to disable this inspection within hashCode() methods.

Use the second checkbox below to ignore magic numbers in annotations.

Use the third checkbox below to ignore magic numbers used as initial capacity when constructing Collection, Map, StringBuilder or StringBuffer objects.