Java valueOf() 方法 parseInt()方法

来源:互联网 发布:淘宝卖家怎么设置运费 编辑:程序博客网 时间:2024/05/17 03:41

一、String类中:valueOf() 方法返回字符串形式

     String.valueOf()它可以将JAVA基本类型(int,double,boolean等)和对象(Object)转换成String型
     valueOf(boolean b):                                     返回 boolean 参数的字符串表示形式。.
      valueOf(char c):                                               返回 char 参数的字符串表示形式。
      valueOf(char[] data):                                         返回 char 数组参数的字符串表示形式。
      valueOf(char[] data,int offset, int count):          返回 char 数组参数的特定子数组的字符串表示形式。
      valueOf(double d):                                           返回 double 参数的字符串表示形式。
      valueOf(float f):                                                返回 float 参数的字符串表示形式。
      valueOf(int i):                                                   返回 int 参数的字符串表示形式。
      valueOf(long l):                                                返回 long 参数的字符串表示形式。

public class Integerlei {    public static void main(String args[]) {    double d = 5.30;        boolean b = true;        long l = 1234567890;        char[] arr = {'r', 'u', 'n', 'o', 'o', 'b' };        System.out.println("double类型返回值 : " + String.valueOf(d) );        System.out.println("boolean类型返回值 : " + String.valueOf(b) );        System.out.println("long类型返回值 : " + String.valueOf(l) );        System.out.println("char[]类型返回值 : " + String.valueOf(arr) );}}/*结果:double类型返回值 : 5.3boolean类型返回值 : truelong类型返回值 : 1234567890char[]类型返回值 : runoob*/
二、包装类中:valueOf() 方法
static Integer valueOf(int i) :             返回一个表示指定的 int 值的 Integer 实例。(还是对象)
static Integer valueOf(String s) :      返回保持指定的 String 的值的 Integer 对象(实例)。
public class Integerlei{    public static void main(String[] args) {                //将基本类型转换为字符串        System.out.println("将基本类型转换为字符串----------");double m = 78.5;String str1 = String.valueOf(m);System.out.println("valueOf() 方法: "+(str1)+"\n");        // 将字符串转换为基本类型        System.out.println("将字符串转换为基本类型----------");String str = "180.20";double a1 =  Double.valueOf(str); //转换过后其实是返回Double类型的对象,不过1.6以上可以自动拆箱,所以可以使用double来接收。double a2 =  Double.parseDouble(str);//直接转换成double的数值System.out.println("valueOf() 方法: "+(a1));System.out.println("parseDouble() 方法: "+(a2));}}/*结果:将基本类型转换为字符串----------valueOf() 方法: 78.5将字符串转换为基本类型----------valueOf() 方法: 180.2parseDouble() 方法: 180.2*/

三、valueOf(String s) 与parseInt(String s)的区别
由上例
System.out.println("valueOf() 方法: "+(a1));System.out.println("parseDouble() 方法: "+(a2));
得结果一样,都是180.2
parseInt(String s)是将字符串参数作为有符号的十进制整数进行解析
①他俩其实是一样的,只是valueof多一个构造。
parseInt只接受string的参数,
③valueof(String str)实是调用了parseInt(String str)
源码如下:
/**     * Parses the specified string as a signed decimal integer value.     *     * @param string     *            the string representation of an integer value.     * @return an {@code Integer} instance containing the integer value     *         represented by {@code string}.     * @throws NumberFormatException     *             if {@code string} cannot be parsed as an integer value.     * @see #parseInt(String)     */    public static Integer valueOf(String string) throws NumberFormatException {        return valueOf(parseInt(string));    }