您所在的位置: 首页>>读书频道>>设计开发>>Java系列>>

4.1.2 打包(Wrap)基本数据类型

http://book.51cto.com  2008-01-06 21:36  林信良 编著  清华大学出版社  我要评论(0)
  • 摘要:《Java 学习笔记》(JDK6.0)第四章主要介绍的是从autoboxing和unboxing认识对象,本文主要介绍的是打包(Wrap)基本数据类型。
  • 标签:Java  autoboxing  unboxing  Wrap  Java 学习笔记

4.1.2 打包(Wrap)基本数据类型

回过头来看看基本数据类型:long、int、double、float、boolean、byte等。在Java中这些并不是对象,它们只是纯粹的数据,除了数值本身的信息之外,基本数据类型不带有其他的信息或可操作的方法。

您已经看过几个操作对象的范例,也知道使用对象的好处,对象本身可以携带更多的信息,所以如果基本数据类型可以对象的形式存在,它可以带有更多的信息并提供相对应的操作方法。在J2SE 5.0之前,如果想要让基本数据类型能像对象一样操作,那么要使用Long、Integer、Double、Float、Boolean、Byte等类来打包(Wrap)基本数据类型。
Long、Integer、Double、Float、Boolean等类是所谓的Wrapper类。正如其名称所表示的,这些类的主要目的,就是让您提供一个对象实例作为“壳”,将基本数据类型包到这个对象中。这样就可以操作这个对象,就好像将基本数据类型当作对象一样操作,可以直接看看范例4.4来加以体会。

Ü 范例4.4  WrapperDemo.java

public class WrapperDemo {
    public static void main(String[] args) {
        int data1 = 10;
        int data2 = 20;
        
        // 使用Integer来打包int数据
        Integer data1Wrapper = new Integer(data1);
        Integer data2Wrapper = new Integer(data2);
        
        // 直接除以3
        System.out.println(data1 / 3);
        
        // 转为double值再除以3
        System.out.println(data1Wrapper.doubleValue() / 3);

        // 进行两个值的比较
        System.out.println(data1Wrapper.compareTo(data2Wrapper));
    }
}   

在第2章中提到过,如果将两个整数进行相除,默认会将小数点后的数据去除。而在范例4.4中,使用Integer将整数打包,并使用它的doubleValue()返回double值,再进行相除时小数点后就不会被去除。而Integer上也提供compareTo()可以直接比较与另一个Integer对象是否相等,如果是就返回0,比指定值小的话返回–1,比指定值大的话返回1。与使用==只能比较是否相同,compareTo()方法返回更多的信息。执行的结果如下:

3
3.3333333333333335
–1

依照同样的方式,也可以将long、double、float、boolean、byte等,使用对应的Long、Double、Float、Boolean、Byte等类进行打包,之后就可以进行对象操作。

图4-1 Eclipse上的对象方法提示

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
Java实用开发全集
Java类的基础教程专题
Java发展动态专题
Java编程开发手册
Java基础教程
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有