Java基本类型与包装类的区别
2016-05-22 00:00
337 查看
int 是基本类型,直接存数值 。
Integer是类,产生对象时用一个引用指向这个对象。
Java把内存划分成两种:一种是栈内存,另一种是堆内存。
在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配。
而实际的对象是在存储堆内存中 。
即 :
int i = 5;//直接在栈中分配空间
Integer i = new Integr(5);//对象是在堆内存中,而i(引用变量)是在栈内存中
在堆中分配的内存,由java虚拟机的自动垃圾回收器来管理。
因为在堆中分配空间所需的时间远大于从栈中分配存储空间,所以JAVA速度比C 慢
当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装object的,这是就需要这些基本类型的外覆类了。Java中每种基本类型都有相应的外覆类。
int 和 Integer 的区别
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,而原始类型实例变量的缺省值与它们的类型有关。 int 是基本类型,(int)(Math.Random()*100)就是一个数,可以进行加见乘除。 Integer是class ,那么 new Integer(temp)就是一个对象了,可以用到Integer这个class的方法,例如用intvalue()可以返回这个int的值。 |
相关文章推荐
- 对Java多态的理解
- Java Thread多线程
- spring容器初始化时报java.lang.IllegalArgumentException
- 解决eclipse每次Run as Android 程序,会重新启动一个AVD模拟器的问题
- 抽象练习、封装及javadoc使用等相关演示
- IDEA导入Maven项目(Spring+Mybatis)后登录报错:找不到对应的Dao方法
- FTP方式的文件上传和下载的Java代码
- Java web项目结构目录
- JAVA虚拟机学习1---OpenJDK的编译
- java中模拟浏览器访问网页(三)
- 如何编写和应用Java的自定义异常类
- Java中Properties类的操作
- JAVA中堆和栈的区别
- Spring的事务管理多线程的困惑
- java 英文词频统计
- Spring事务分析
- 打开Android Studio时出现No JVM installaton found a 64-bit jdk
- Java虚拟机运行时内存区域
- 深入Java集合类
- 关于java中jsp和servlet传值的问题