各种包装类之间的转换(1)
装箱和拆箱
- 装箱就是自动将基本数据类型转换为包装器类型;
- 拆箱就是自动将包装器类型转换为基本数据类型;
String和Integer的相互转化
Integer转String
Integer a = 1;
String str = Integer.toString(a);
Integer a = 2;
String str = a.toString();
Integer a =3;
String str = String.valueOf(a);
当使用toString()方法,可以将整数类型转化为字符串,但是可能会发生
java.lang.NullPointerException 因为Integer可能为null
空指针异常:java是没有指针的,java指针指的是java的引用,所以空指针就是空引用,因此空指针异常就是引用本身为空,却调用了方法,这个时候会出现空指针异常。
成员变量和方法是属于对象的,在对象中才存在相对应的成员变量和方法,然后通过对象去调用这些成员变量和方法。对于空指针来说,它不指向任何对象,也就没有所谓的成员变量和方法。这个时候如果去调用这些属性和方法,就会发生异常
String转Integer
String str = “nihao”;
Integer a = null;
if(str!=null){
a = Integer.valueOf(str);
}
总结:String类型和Integer的相互转化一定要注意判断null 否则可能会产生空指针异常
Bigdecimal类型和String类型相互转换
Bigdecimal类型转换为String类型
BigDecimal big = new BigDecimal(“nihao”);
String str = big.toString();
String类型转为Bigdecimal类型
String str = “nihao”;
BigDecimal big = new BigDecimal(str);
在进行bigdecimal转为string类型的实战中 曾经出现过java.lang.illegalArgumentException:Cannot format given Object as a Number 出现的原因为非法参数异常 需要判断bigdecimal不为空 才不会报错。
bigdecimal四舍五入保留两位小数 数据库中字段设置为decimal(12,4),我想保留两位小数 就要用到DecimalFormat(“0.00”);
在判断的时候 要判断转换之前的类型是否为空。
Integer转BigDecimal
new BigDecimal(Integer.parseInt(findCcid.toString()))