search

Home  >  Q&A  >  body text

Java data type conversion, what is the difference between parseXXX(String) or valueOf(String)?

What is the difference between parseparseXXX(String) and valueOf(String) of the basic type of packaging class?

漂亮男人漂亮男人2749 days ago803

reply all(1)I'll reply

  • 淡淡烟草味

    淡淡烟草味2017-05-17 10:05:37

    JDK8 source code

     /**
     * Returns an {@code Integer} object holding the value
     * extracted from the specified {@code String} when parsed
     * with the radix given by the second argument. The first argument
     * is interpreted as representing a signed integer in the radix
     * specified by the second argument, exactly as if the arguments
     * were given to the {@link #parseInt(java.lang.String, int)}
     * method. The result is an {@code Integer} object that
     * represents the integer value specified by the string.
     *
     * <p>In other words, this method returns an {@code Integer}
     * object equal to the value of:
     *
     * <blockquote>
     *  {@code new Integer(Integer.parseInt(s, radix))}
     * </blockquote>
     *
     * @param      s   the string to be parsed.
     * @param      radix the radix to be used in interpreting {@code s}
     * @return     an {@code Integer} object holding the value
     *             represented by the string argument in the specified
     *             radix.
     * @exception NumberFormatException if the {@code String}
     *            does not contain a parsable {@code int}.
     */
    public static Integer valueOf(String s, int radix) throws NumberFormatException {
        return Integer.valueOf(parseInt(s,radix));
    }

    Using Inteager to illustrate here, valueOf actually calls parseInt.
    The parseInt method is a static method of the Integer class. Its function is to convert a string into an integer. int
    valueOf is also a static method of the Integer class. Its function is to convert a string into an Integer object.

    reply
    0
  • Cancelreply