************************************************************************ ****原文:blog.csdn.net/clark_xu 徐长亮的专栏 ************************************************************************
基本类型包装类
java语言的8种基本类型粉笔对应了8种包装类,每一种包装类都封装了一个对应的基本类型的成员变量,同时还提供了一些正对改数据类型的使用方法
java.lang.Interger |
int |
java.lang.Long |
long |
java.lang.Double |
double |
java.lang.Character |
char |
java.lang.Boolean |
boolean |
java.lang.Byte |
byte |
java.lang.Float |
float |
java.lang.Short |
short |
3.1 编译器对包装类的支持
JDK 5发布之前,使用包装类对象进行运算时,需要较为繁琐的“拆箱”和“装箱‘操作
装箱
Interger i=integer.valueOf(100);
Interger j=integer.valueOf(200);
拆箱+装箱:
Integer k=Interger.valueOf(i.intValue() + j.intValue());
JDK 5增加了自动拆箱和装箱功能,列入
Interger i=100;Interger j=200;
Interger k=i+j;
3.2 Integer和Double对象常用方法
Integer和Double的静态常量MAX_VALUE和MIN_VALUE
用于返回
parseInt和parseDouble方法分别可以将字符串解析成int和double数据;如果数据字符串无法解析为数值将抛出NumberFormatException,例如:
int n=Integer。parseInt(“123”);
double d=Double.parseDouble(“123.456”);
Integer的toBinaryString和toHexString方法分别将int数据转换为二进制和十六进制的字符串序列
String bStr=Integer.toBinaryString(100);
String hStr=Integer.toHexString(100);
3.3 BigDecimal类
java的浮动数据类型float,Double在运算的时候会有舍入误差;如果希望得到精确计算结果,使用java.math.BigDecimal类
使用String参数的构造方法,例如:
BigDecimal d1=new BigDecimal(“3.0”);
BigDecimal对象有subtract,add,multiply,divide方法;其中对应divide方法,指定精度,防止无效小数异常
BigDecimal d4=d1.divide(d2,8,BigDecimal.ROUND_HALF_UP);
3.4 BigInteger类
使用BigInteger的静态方法valueOf来构建对象,参数数long类型。
创建为:BigInteger sum=BigInteger.valueOf(1)
获取位数为:sum.toString.length();