zoukankan      html  css  js  c++  java
  • AJPFX分析int 和integer的区别

    int是java提供的8种原始数据类型之一。
    Java为每个原始类型提供了封装类,Integer是java为int提供的封装类。
    int的默认值为0,而Integer的默认值为null,即Integer可以区分出未赋值和值为0的区别,int则无法表达出未赋值的情况,
    例如,要想表达出没有参加考试和考试成绩为0的区别,则只能使用Integer。在JSP开发中,Integer的默认为null,所以用el表达式在文本框中显示时,值为空白字符串,而int默认的默认值为0,所以用el表达式在文本框中显示时,结果为0,所以,int不适合作为web层的表单数据的类型。 
    在Hibernate中,如果将OID定义为Integer类型,那么Hibernate就可以根据其值是否为null而判断一个对象是否是临时的,如果将OID定义为了int类型,还需要在hbm映射文件中设置其unsaved-value属性为0。 
    另外,Integer提供了多个与整数相关的操作方法,例如,将一个字符串转换成整数,Integer中还定义了表示整数的最大值和最小值的常量。

    int 是基本类型。

    Integer是引用类型。。


    比如int a= 5;
    Integer b = 5;

    对于a你只能用来做计算。。比如加减乘除

    b你可以用来做很多事情,因为他是一个对象,他有很多方法,你可以像使用String对象那样使用它。


    java.lang.Integer是一个类.对它的操作要通过类的方法   
      int是JAVA缺省的8中基本数据类型之一.不是类的对象.
    int是基本数据类型,Integer是对int进行了封装的一个类。   
      声明为int的变量不需要实例化,声明为Interger的变量需要实例化   
    int是基本类型,Integer是包装类,也就是类。
    Integer   是比int   更高级的   数据类型   为什么java中使用int   而不像vb中那样使用Integer
    int是面向机器底层的数值类型,是Primitive类型的数据类型,而Integer是int的Warpper类,是面向对象的即OOP的对象类型。int   一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方,比如Map的Key与Value,List与Set的Element若要保存数值信息都要把int包装成Integer对象使用。
    Java   提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。   
      原始类型           封装类   
      boolean             Boolean   
      char                   Character   
      byte                   Byte   
      short                 Short   
      int                     Integer   
      long                   Long   
      float                 Float   
      double               Double   
    引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为   null,而原始类型实例变量的缺省值与它们的类型有关。
      int   一般做为数值参数就够了   
      integer   一般做类型转换的时候用的较多


    Integer是int的封装类,里面有很多进行处理的静态方法   
    Integer是对象而int不是,内存的分配位置也不一样
    int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。   
    实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法;   
    另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理。   


    int a=1;这是基本数据类型是能参与运算的.
    而Integer b= new Integer(1);
    c=b.floatvalue;
    Float a= new Float(null);是可以的用Float初始化一个对象
    这个a有很多方法而float a;就没有因为原始没有引用类

    int 是基本类型,直接存数值
    integer是对象,用一个引用指向这个对象


    1.Java 中的数据类型分为基本数据类型和复杂数据类型
    int 是前者>>integer 是后者(也就是一个类)
    2.初始化时>>
    int i =1;
    Integer i= new Integer(1);(要把integer 当做一个类看)

    int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充)
    Integer 是一个类,是int的扩展,定义了很多的转换方法
    类似的还有:float Float;double Double;string String等

    举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。
    Java中每种内建类型都有相应的外覆类。


    java 提供两种不同的类型:引用类型(或者封装类型,Warpper)和原始类型(或内置类型,Primitive)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 

    int 是基本类型,(int)(Math.Random()*100)就是一个数,可以进行加见乘除。 Integer是class ,那么 new Integer(temp)就是一个对象了,可以用到Integer这个class的方法,例如用intvalue()可以返回这个int的值。

  • 相关阅读:
    LeetCode 242. Valid Anagram (验证变位词)
    LeetCode 205. Isomorphic Strings (同构字符串)
    LeetCode 204. Count Primes (质数的个数)
    LeetCode 202. Happy Number (快乐数字)
    LeetCode 170. Two Sum III
    LeetCode 136. Single Number (落单的数)
    LeetCode 697. Degree of an Array (数组的度)
    LeetCode 695. Max Area of Island (岛的最大区域)
    Spark中的键值对操作
    各种排序算法总结
  • 原文地址:https://www.cnblogs.com/AJPFX/p/10855838.html
Copyright © 2011-2022 走看看