基本类型与字符串类型的转化,以及parseXxx()和valueOf()的区别
public class DataParse {
public static void main(String[] args){
int inta = 2;
/**
* float只能提供小数点后七位有效数字。
* double可提供小数点后16位有效数字。
*/
//默认的浮点数都是double 只有在数组后边加上f才是 float的
float flonum = 1.23451179f;
//输出结果为1.2345117;注意:9被直接省略掉了
//System.out.println(flonum);
double dounum = 3.123456789987654322;
String doubleString = "2.3424254324";
//输出结果为3.1234567899876544;位数超出时直接在最后一位数+1;精度更高
System.out.println(dounum);
System.out.println("**************使用parseXxx()将字符串类型转化为基本数据类型******************");
//字符串类型转化为基本数据类型;Double封装类型自动拆箱成double基本类型;
/**
* 源码的位置: 返回类型double
* public static double parseDouble(String s) throws NumberFormatException {
* return FloatingDecimal.parseDouble(s);
* }
*/
double dou = Double.parseDouble(doubleString);
System.out.println("Double封装类型自动拆箱成double基本类型");
System.out.println(dou);
//字符串类型转化为基本数据类型;Integer封装类型自动拆箱成int基本类型;
String instr = "2";
int i = Integer.parseInt(instr);
System.out.println("Integer封装类型自动拆箱成int基本类型");
System.out.println(i);
//字符串类型转化为基本数据类型;Float封装类型自动拆箱成float基本类型;
float f = Float.parseFloat(doubleString);
System.out.println("Float封装类型自动拆箱成float基本类型");
System.out.println(f);
System.out.println("**************使用valueOf()方法,将字符串类型转化为基本数据类型******************");
int integer = Integer.valueOf(instr);
System.out.println(integer);
System.out.println("**************使用valueOf()方法,将基本数据类型转化为字符串类型******************");
String s = String.valueOf(dounum);
System.out.println(s);
/**
* 总结:parseXxx()和valueOf()方法作为数据转换的区别;
* 1)parseXxx()主要用于将字符串类型转化为基本数据类型;
* 返回类型为基本数据类型,如(double,int,float等)
* 2)valueOf()将字符串类型转化为封装类型;
* 例如Integer integer = Integer.valueOf();int integer = Integer.valueOf()自动拆箱,但效率低
* 返回类型为封装类型,如(Integer,Float,Double等)
* 3)valueof()将基本数据类型装换为字符类型;
* 例如:double dounum = 3.123456789987654322;
* String s = String.valueOf(dounum);
*
* 关系:
* 1、valueof就是调用了parseXxx方法的
* 2、parseXxx效率比valueof效率高;
* int intnum = Integer.parseInt();效率高
* 例如Integer integer = Integer.valueOf();int integer = Integer.valueOf()自动拆箱,但效率低
*/
}
}