int和Integer的区别

来源:互联网 发布:淘宝网招聘信息 编辑:程序博客网 时间:2024/05/01 22:58

 这几天为了应付考试,收集了一些有趣的基本知识点,这在平常开发的时候,可能都不注意,因为现在的代码太多了,我们都习惯了copy过来应用,只要程序能跑起来,功能能实现就行了,这可能是大多程序员的通病。

        其实这里面大有文章可研究呢,下面就一个一个列举一下:

 

        1、int Integer 有什么区别?

   这个问题可以引申出如下几个问题:

       (1)boolean 和 Boolean有什么区别?

       (2)char 和 Character有什么区别?

       (3)double 和 Double有什么区别?

        ……

其实都是同一个问题,只不过提问的频率int和Integer相对要高一些。当然你要是连上网络,google一搜,就会有无数个答案出来。这考的就是java基本数据类型和其相对应的包装器类的知识点。推荐大家看《Java程序设计语言》([美]Ken Arnold James Gosling David Holmes著),java之父写的。你就什么都明白了。

   java变成语言具有用于支持整型、浮点型、布尔型和字符型数值的内建“基本”数据类型。与程序员定义的对象类型不同,这些基本类型表示的是机器能够直接理解的数值数据。我们必须显式地定义每个变量的类型,这些基本数据类型包括:

   

    boolean        真(true)或假(false)

    char           16位Unicode UTF-16字符型(无符号)

    byte           8位整型(有符号)

    short          16位整型(有符号)

    int            32位整型(有符号)

    long           64位整型(有符号)

    float          32位浮点型(IEEE 754)

    double         64位浮点型(IEEE 754)

 

    注意:String不是基本数据类型。

每一种基本类型都有与其对应的对象类型,一般称作包装器(wrapper)类,例如,类Integer就是int的包装器类。对于基本类型及其对应的包装器类,如果其中的一种类型出现在了需要使用另一种类型的地方,那么在绝大多数情况下,java语言都会自动进行类型转换。