zoukankan      html  css  js  c++  java
  • java基本类型和包装类的区别(转)

    int 是基本类型,直接存数值 
    Integer是类,产生对象时用一个引用指向这个对象
    Java把内存划分成两种:一种是栈内存,另一种是堆内存 
    在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配 
    而实际的对象是在存储堆内存中 
    即 
    int i = 5;//直接在栈中分配空间 
    Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中 
    在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理.
    因为在堆中分配空间所需的时间远大于从栈中分配存储空间,所以JAVA速度比C 慢
    当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的外覆类了。Java中每种基本类型都有相应的外覆类。
    int 和 Integer 的区别


    java 提供两种不同的类型:引用类型(或者封装类型,Warpper)和原始类型(或内置类型,Primitive)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。 
    原始类型 封装类 
    boolean Boolean 
    char Character 
    byte Byte 
    short Short 
    int Integer 
    long Long 
    float Float 
    double Double 
    引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的 数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

    from:http://community.csdn.net/Expert/topic/3666/3666081.xml?temp=.9687921 


    int 是基本类型,(int)(Math.Random()*100)就是一个数,可以进行加见乘除。 Integer是class ,那么 new Integer(temp)就是一个对象了,可以用到Integer这个class的方法,例如用intvalue()可以返回这个int的值。
  • 相关阅读:
    eclipse如何把多个项目放在一个文件夹下【eclipse中对项目进行分类管理】-图示详解
    hibernate中cache二级缓存问题
    Java处理正则验证手机号-详解
    Java处理手机号中间4位替换成*
    WPF:依赖属性的应用
    WPF:自定义路由事件的实现
    WPF:类型转换器的实现
    MFC中CString转化为char*
    Android4.4 往短信收件箱中插入自定义短信(伪造短信)
    OpenCV imread读取图片,imshow展示图片,出现cv:Exception at memory location异常
  • 原文地址:https://www.cnblogs.com/lip-blog/p/7422269.html
Copyright © 2011-2022 走看看