Java中基本数据的包装类

  java中基本数据类型的包装类有:Character、Boolean、Byte、Short、Integer、Long、Float和Double。

          基本数据类型:char、   boolean、  byte、short、 int 、   long、   float、 double

  这些包装类位于java.lang包中,包装类可以将基本的数据类型当作对象处理。

1. Character类

  Character character = new Character('a');    //创建一个Character对象

 

Character类中的一些字符处理方法,大多数是静态方法

  Character(value : char)      --使用char值构建一个字符对象

  charValue(): char         --返回对象的char值

  compareTo(another character:Character): int      --与其他字符做比较

  equals(another character:Character) :boolean     --如果该字符等于其他字符则返回true

  isDigit(ch:char):boolean      --如果该字符是数字则返回true

  isLetter(ch:char):boolean     --如果该字符是字母则返回true

  isLetterOrDigit(ch:char):boolean      --如果该字符是字母或数字则返回true

  isLowerCase(ch:char):boolean      --如果该字符是小写字母则返回true

  isUpperCase(ch:char):boolean      --如果该字符是大写字母则返回true

  toLowerCase(ch:char):char        --返回指定字母的小写字母

  toUpperCase(ch:char):char        --返回指定字母的大写字母

 

2.数值包装类

  数值包装类扩展于抽象类Number,Number类包含有doubleValue()、floatValue()、intValue()、longValue()、shortValue()和byteValue()方法,通过这些方法可以返回对象的基本类型值。并且每个类都覆盖了Object类中的toString()和equals()方法,另外都实现了Comparable接口,compareTo方法。

 

  · 可以使用基本数据类型或者表示数值的字符串来构造包装类:

new Double(5.0); //使用基本数据
new Double("5.0");  //使用字符串

new Integer(5);
new Integer("5");

  · 包装类没有无参构造方法。所有包装类的实例都是不可变的,一旦创建对象后,它们的内在值就不能改变。

   · 每一个包装类都有常量MAX_VALUE和MIN_VALUE。MAX_VALUE分别表示基本数据类型的最大值。对于Byte、Short、Integer、Long,MIN_VALUE就是对应的最小值。对于Float和Double,MIN_VALUE就是float和double的最小正值。

  ·数值包装类中的静态方法:valueOf(String s),该方法创建一个新的对象,并将其初始化为指定字符串表示的值。

1 Double doubleObject = Double.valueOf("1.4");
2 Integer integerObject = Integer.valueOf("12");

  · Integer类中的parseInt方法将一个数值字符串转换成一个int值,Double类中的parseDouble将一个数值字符串转换成一个Double值。

  · 每个包装类都有两个重载额方法,将数值字符串转换成正确的以10(十进制)或者指定的其他进制的数值:

 1 public static byte parseByte(String s)
 2 public static byte parseByte(String s, int radix)
 3 
 4 public static short parseShort(String s)
 5 public static short parseShort(String s, int radix)
 6 
 7 public static int parseInt(String s)
 8 public static int parseInt(String s, int radix)
 9 
10 public static long parseLong(String s)
11 public static long parseLong(String s, int radix)
12 
13 public static float parseFloat(String s)
14 public static float parseFloat(String s, int radix)
15 
16 public static double parseDouble(String s)
17 public static double parseDouble(String s, int radix)

基本类型与包装类型的自动转换

  将基本数据类型转换成包装类对象的过程称为装箱(boxing),相反的过程称为开箱(unboxing).

  Integer intObject = new Integer(2);    等价于:  Integer intObject = 2;   --自动装箱

  Integer[] int Array = {1,2,3};

  System.out.println(intArray[0] + intArray[1] +intArray[2] );   --自动开箱。将intArray中的对象转为数值后相加,打印输出。

 

3.BigInteger和BigDecimal类

  BigInteger和BigDecimal类是为了实现非常大的数或者高精度浮点数的运算而存在的。

  BigInteger的实例可以表示任意大小的整数,可以使用new BigInteger(String)和new BigDecimal(String)类创建BigInteger和BigDecimal类的实例。使用add、subtract、multiple、divide和remainder方法完成算术运算。

  BigDecimal对象的精度没有限制。如果结果不能终止,那么divide方法会抛出一个ArithmeticException异常。可以使用重载的divide(BigDecimal d, int scale, int roundingMode)方法来指定尺度和舍入方法来避免这个异常。scale是指小数点后最小的整数位数。

 

 

posted on 2015-12-02 12:03  Luts  阅读(384)  评论(0编辑  收藏  举报