一、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.3
boolean类型返回值 : true
long类型返回值 : 1234567890
char[]类型返回值 : runoob
*/
二、包装类中:valueOf() 方法
static Integer valueOf(int i) : 返回一个表示指定的 int 值的 Integer 实例。(还是对象)
static Integer valueOf(String s) : 返回保持指定的 String 的值的 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.2
parseDouble() 方法: 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));
}