code: public static int parseInt(final String str) {
          if (N.isNullOrEmpty(str)) {
              return 0;
          }
  
          if (str.length() < 5) {
              Integer result = stringIntCache.get(str);
              if (result != null) {
                  return result.intValue();
              }
          }
  
          return Integer.decode(str);
      }
docs: Returns the value by calling {@code Integer.valueOf(String)} if
  {@code str} is not {@code null}, otherwise, the default value 0 for
  {@code int} is returned.
  
  @param str
  @return
  @throws  NumberFormatException If the string does not
  contain a parsable {@code int}.