java数据类型转换,parseXXX(String)或valueOf(String)有什么区别?

基本类型的包装类的parseparseXXX(String)和valueOf(String)有什么区别呀?

阅读 3.2k
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对象

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题