Interger和Short为java Object, int和short为基本类型;我认为后者效率高,所以我认为只有需要作为参数引用是才用前者,最近用hibernate,工具生成的POJO所用的都是前者,所用我想知道为什么,什么时候用前者合适,什么时候应该用后者

解决方案 »

  1.   

    没用过hibernate ,但int 存的是值Interger 创建对象 当然要消耗更多资源,效率要低些
      

  2.   

    坦率的说外覆类(此名称来自《think in java 中文第二版》)的存在是为了让我们明白JAVA一切都是Object的思想。
    确实如果基本型别(primitive type)可以解决问题时,你应该使用基本型别(诸如int, float, double...),但是当你需要将你的type当成一种对象加以操作的时候就必须将其转换为外覆类。
    一个典型的应用是所谓的Generic泛型编程,使用诸如LinkedList,HashMap,TreeSet等聚集时,由于必须接受Object参数(此即所谓的泛型编程,并不考虑特定的数据类型关注于将算法抽象化),所以必须将基本型别转换为外覆类。当然还有一些其他原因导致使用外覆类,但基本的原因都是因为你必须籍以对象的形式使用他们。
    @.@||~
      

  3.   

    这都是你工具这样作的,如果你不喜欢就换成int short啊!
    hibernate的出现使我们以前对rdms的繁琐操作也变成了面向对象的操作方式,
    我估计是这个方式,所以编译工具自动生成时都用对象作为引数或返回值吧
    呵呵 猜想如此
      

  4.   

    看你对这个整形数据还需要什么功能啦,
    如果仅仅是一个数值而已,int足矣,Hibernate也是可能更改!
      

  5.   

    看你对这个整形数据还需要什么功能啦,
    如果仅仅是一个数值而已,int足矣,Hibernate也是可以更改!
      

  6.   

    Integer, Short是基本类型的包装类,当你需要用一个collection来保存这些基本类型的数据时,如把int,short等放到vector,list中,因为collection类只能接受object类型,而基本类型数据直接放入是不行的,可以将他们包装到一个对象中去。当然,还有其他的好处,如便于类型转换,将int,short等转换成字符串输出。
      

  7.   

    hibernate中如果你用的是原生类型,最终hibernate也会把它转换成它的外覆类!!!!!!
      

  8.   

    Integer, Short是基本类型的包装类,当你需要用一个collection来保存这些基本类型的数据时,如把int,short等放到vector,list中,因为collection类只能接受object类型,而基本类型数据直接放入是不行的,可以将他们包装到一个对象中去。当然,还有其他的好处,如便于类型转换,将int,short等转换成字符串输出。
    -------------------------------------------------------------------------------------
    说的好,说得妙!所以不是对类型要求的话
    最好不要用
    Interger和Short为java Object
    应为他们生成实例的时候,要分配空间,占用资源!
      

  9.   

    hibernate在使用反射或者是PSTMT设置变量值时,使用对象能够直接使用instanceof来判断存入的变量类型。
    而决定采用什么方式预处理。这是其中的好处