今天偶然和同学讨论到int和Integer的区别是,发现自己对这个问题了解的并不是很清楚,而且有些概念还是错的,所以在这对int和Integer的区别做一个总结。

int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:

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

1.Java 中的数据类型分为基本数据类型和复杂数据类型

int 是基本数据类型 而integer 是复杂数据类型(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null.

2.初始化时:

  int i =1;

  Integer i= new Integer(1);(integer 是一个类);但由于有了自动装箱和拆箱使得对Integer类也可使用:Integer i= 1;  

  

  int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer 是一个类,是int的扩展,定义了很多的转换方法

  java一共有八种基本数据类型:字符类型char,布尔类型boolean以及数值类型byte、short、int、long、float、double;每一个基本数据类型都有一个包装类,

                对应的包装类为Character,Booblean,Byte,Short,Integer,Long,Float,Double

  比如当需要往ArrayList,HashMap中放东西时,像int,double这种基本类型是放不进去的,因为容器都是装 object的,这是就需要这些基本类型的包装类了。

   下面用一段代码来具体展示以下:

  

 /**
* int 和Integer类型区别比较
* 2016/5/4
*
*/
package cn.Java_7;
public class Campare {
public static void main(String[] args) {
Integer a = new Integer(127), b = new Integer(128);
int c = 127, d = 128, dd = 128;
Integer e = 127, ee = 127, f = 128, ff = 128; System.out.println(a == b); //false 因为a,b都是new出来的对象,地址不同所以为false
System.out.println(a == c); //true a会自动拆箱为int类型
System.out.println(a == e); //false 指向的地址不同a是new出来的
System.out.println(e == c); //true e会自动拆箱为int类型
System.out.println(e == ee);//true 处于-128到127范围之间,指向了同一片地址区域 System.out.println(b == f); // false 指向的地址不同b是new出来的
System.out.println(f == d); //true f自动拆箱为int类型 System.out.println(f == ff); /*false 指向的不是同一片地址区域 在Integer类型中,-128到127存放的是同一片区域地址,之外的数
是另外开辟空间来进行 存储的*/
System.out.println(d == dd); // true 不解释
}
}

java int和Integer的区别的更多相关文章

  1. 【转】java int与integer的区别

    java int与integer的区别 int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1 ...

  2. Java进阶(三十五)java int与integer的区别

    Java进阶(三十五)java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象 ...

  3. (转)Java进阶java int与Integer的区别

    Java进阶java int与Integer的区别 前言 int与Integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而Integer是对象,用一个引 ...

  4. java int与integer的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...

  5. [转载]java int与integer的区别

    声明: 本篇文章属于转载文章,来源:

  6. 转 java int与Integer的区别

    int是java提供的8种原始数据类型之一, Java为每个原始类型提供了封装类,Integer是java为int提供的封装类. int 是基本类型,Integer是引用类型. java.lang.I ...

  7. java面试题之int和Integer的区别

    int和Integer的区别 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的引 ...

  8. java 中int与integer的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...

  9. java int 与 Integer之间的区别

    int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别: int 是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象 1.Java 中的数据类型分为基本数据类型 ...

随机推荐

  1. Python之Socket&异常处理

    Socket Socket用于描述IP地址和端口号,每个应用程序都是通过它来进行网络请求或者网络应答. socket模块和file模块有相似之处,file主要对某个文件进行打开.读写.关闭操作.soc ...

  2. 洛谷-哥德巴赫猜想(升级版)-BOSS战-入门综合练习1

    题目背景 Background 1742年6月7日哥德巴赫写信给当时的大数学家欧拉,正式提出了以下的猜想:任何一个大于9的奇数都可以表示成3个质数之和.质数是指除了1和本身之外没有其他约数的数,如2和 ...

  3. java代码块 静态、非静态

    Java虚拟机的内存分区:Java栈.堆.方法区.本地方法栈.PC寄存器.还有一个常量池的概念,虚拟机会为每种类型分配一个常量池,而不是实例. 例如有一个类有很多子类,那么在父类定义的final变量, ...

  4. php笔记(一)面向对象编程

    <?php //定义一个类 class Car { var $name = '汽车'; function getName() { return $this->name; } } //实例化 ...

  5. k个区间相交的段落数 Educational Codeforces Round 4 D

    http://codeforces.com/contest/612/problem/D 题目大意:给你n个区间,这n个区间会有相交的部分,如果一个区间相交的部分>=k,那么就把这个区间记录下来. ...

  6. Swift Runtime动态性分析

    Swift是苹果2014年发布的编程开发语言,可与Objective-C共同运行于Mac OS和iOS平台,用于搭建基于苹果平台的应用程序.Swift已经开源,目前最新版本为2.2.我们知道Objec ...

  7. HDU - 1045 Fire Net(搜索)

    Description Suppose that we have a square city with straight streets. A map of a city is a square bo ...

  8. Python logging模块使用记录

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...

  9. WinDbg抓取程序报错dump文件的方法

    程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此种崩溃特点 ...

  10. linux下修改MAC地址方法

    一.修改MAC地址方法linux环境下:需要用 #ifconfig eth0 down 先把网卡禁用 再用ifconfig eth0 hw ether 1234567890ab 这样就可以改成功了要想 ...