java数据类型转换,parseXXX(String)或valueOf(String)有什么区别?
问题描述
基本类型的包装类的parseparseXXX(String)和valueOf(String)有什么区别呀?
问题解答
回答1:JDK8源码
/** * 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));}
这里用Inteager来说明, valueOf 实际上调用了 parseInt。 parseInt方法是类Integer的静态方法,它的作用就是将字符串转化为整数int valueOf也是Integer类的静态方法,它的作用是将字符串转化为Integer对象
