Java基本语法-基础数据类型的封装类

一、Number封装类

Java内置了基本数据类型(boolean、char、byte、short、int、long、float、double),但是我们在编码更多的是使用基础数据类型封装类的对象、而不是内置数据类型。

Java中对内置数据类型封装了封装类,包含在java.lang包。

Number是一个抽象类,如下封装类是Number类的子类:

  1) Byte

  2) Short

  3) Integer

  4) Long

  5) Float

  6) Double

举例:

  Integer i = 10;

  i = i + 1;


封箱与拆箱:

Number封装类的对象也可以 像 基础数据类型 一样直接采用运算符进行运算

(1)当内置数据类型被当成对象使用时,编译器会对内置类型装箱成封装类。

(2)相似的,编译器也可以把一个对象拆解成内置数据类型,称之为拆箱。

如上例子:

(1)当 i 被赋值时,由于 i 是一个对象,所以编译器对 i 进行装箱。

(2)然后,为了给 i 进行加运算,编译器需要对 i 进行拆箱。

Jave中基本数据类型的属性 以 常量方式定义在封装类中,可以通过如下方式获取这些基本数据类型的属性。如:以Integer为例,获取属性如下:

  Integer.SIZE  //获取int类型占用字节低效

  Integer.MIN_VALUE  //获取int类型最小值

  Integer.MAX_VALUE  //获取int类型最大值

Float、Double常用的常量包含:MIN_VALUE、MAX_VALUE、NEGATIVE_INFINITY、POSITIVE_INFINITY和NaN。方法如:Flaot.isNaN(),Double.isNaN()。

二、Number封装类常用的方法

1) xxxValue()

 把number对象转换为 内置数据类型 返回。byteValue()、shortValue()、intValue()、longValue()、floatValue()、doubuleValue()。样例:

 Integer i = 5;

 float f = i.floatValue();

2) compareTo()

 public int compareTo( NumberSubClass referenceName )

 referenceName:可以是一个 Byte、Double、Integer、Float、Long或Short类型的参数。

 返回值:相等则,返回0;小于参数,则返回-1;大于参数,则返回1。样例:

 Integer i = 5;

 Float f = 5.43;

 int ret1 = i.compareTo(f);

 int ret2 = i.compareTo(4);

3) equals()

 public boolean equals(Object o)

 o:任何对象。

 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。样例:

 Integer i = 5;

 Short a = 5;

 System.out.println(i.equals(a));

4) toString()

 String toString()    //对象方法

 static String toString(int i)    //类方法

 返回一个字符串表示的 Number 对象值。

 样例:

 Integer a = 100;

 System.out.println(a.toString());

 System.out.println(Integer.toString(100));

5) valueOf()

 static Integer valueOf(int i)

 static Integer valueOf(String s)

 static Integer valueOf(String s, int radix)

 返回给定参数的原生 Number 对象值,也支持Double等其他基础封装类对象。

 i:整数值。

 s:Integer类型对象的字符串。

 radix:解析s字符串时的使用的基数,即进制。

 样例:

   Integer a = Integer.valueOf(100);

   Integer b = Integer.valueOf(“99”);

   Integer b = Integer.valueOf(“1ABD”, 16);//16机制的1ABD

   Double d = Double.valueOf(“2.15143”);

6) parseInt()

    static int parseInt(String s)

 static int parseInt(String s, int radix)

 将字符串参数返回为基础数据类型。也支持double等其他基础封装类对象。

 样例:

    int a = Integer.parseInt(“100”);

    int b = Integer.parseInt(“444”, 8);//8机制的444

    double d = Double.parseInt (“2.15143”);

猜你喜欢

转载自www.cnblogs.com/yickel/p/12748368.html