com.fasterxml.jackson.core.io

Class NumberInput



  • public final class NumberInput
    extends Object
    • Field Detail

      • NASTY_SMALL_DOUBLE

        public static final String NASTY_SMALL_DOUBLE
        Textual representation of a double constant that can cause nasty problems with JDK (see http://www.exploringbinary.com/java-hangs-when-converting-2-2250738585072012e-308).
        See Also:
        Constant Field Values
    • Constructor Detail

      • NumberInput

        public NumberInput()
    • Method Detail

      • parseInt

        public static int parseInt(char[] ch,
                                   int off,
                                   int len)
        Fast method for parsing unsigned integers that are known to fit into regular 32-bit signed int type. This means that length is between 1 and 9 digits (inclusive) and there is no sign character.

        Note: public to let unit tests call it; not meant to be used by any code outside this package.

        Parameters:
        ch - Buffer that contains integer value to decode
        off - Offset of the first digit character in buffer
        len - Length of the number to decode (in characters)
        Returns:
        Decoded int value
      • parseInt

        public static int parseInt(String s)
        Helper method to (more) efficiently parse integer numbers from String values. Input String must be simple Java integer value. No range checks are made to verify that the value fits in 32-bit Java int: caller is expected to only calls this in cases where this can be guaranteed (basically: number of digits does not exceed 9)

        NOTE: semantics differ significantly from parseInt(char[], int, int).

        Parameters:
        s - String that contains integer value to decode
        Returns:
        Decoded int value
      • parseLong

        public static long parseLong(char[] ch,
                                     int off,
                                     int len)
      • parseLong

        public static long parseLong(String s)
        Similar to parseInt(String) but for long values.
        Parameters:
        s - String that contains long value to decode
        Returns:
        Decoded long value
      • inLongRange

        public static boolean inLongRange(char[] ch,
                                          int off,
                                          int len,
                                          boolean negative)
        Helper method for determining if given String representation of an integral number would fit in 64-bit Java long or not. Note that input String must NOT contain leading minus sign (even if 'negative' is set to true).
        Parameters:
        ch - Buffer that contains long value to check
        off - Offset of the first digit character in buffer
        len - Length of the number to decode (in characters)
        negative - Whether original number had a minus sign (which is NOT passed to this method) or not
        Returns:
        True if specified String representation is within Java long range; false if not.
      • inLongRange

        public static boolean inLongRange(String s,
                                          boolean negative)
        Similar to inLongRange(char[],int,int,boolean), but with String argument
        Parameters:
        s - String that contains long value to check
        negative - Whether original number had a minus sign (which is NOT passed to this method) or not
        Returns:
        True if specified String representation is within Java long range; false if not.
      • parseAsInt

        public static int parseAsInt(String s,
                                     int def)
      • parseAsLong

        public static long parseAsLong(String s,
                                       long def)
      • parseAsDouble

        public static double parseAsDouble(String s,
                                           double def)

Copyright © 2008–2022 FasterXML. All rights reserved.