您的位置:首页 > 编程语言 > Java开发

Java中int和Integer的区别是什么?

2016-04-05 10:03 591 查看

Java中int和Integer的区别是什么?

代码

package Test;

public class Equals {

public static void main(String[] args) {
// TODO Auto-generated method stub
Integer i1=127,i2=127,i3=128,i4=128;
System.out.println(i1==i2);
System.out.println(i1.equals(i2));
System.out.println(i3==i4);
System.out.println(i3.equals(i4));

}

}


结果



小结

Java中int和Integer关系是比较微妙的。关系如下:

1,int是基本的数据类型;

2,nteger是int的封装类;

3,int和Integer都可以表示某一个数值;

4,int和Integer不能够互用,因为他们两种不同的数据类型;

5,Integer类的内部, 有一个常量静态数组, 在Integer类被加载的时候, 预先创建了-128 ~ 127的Integer对象, 所以当声明的Integer类型变量的值在-128 ~ 127的范围内时, 不会新创建对象, 直接引用数组中创建好的. 所以第一个结果会输出true,第三个结果为false;

6,而int是一个基本数据类型,不存在integer那样的创建对象的过程,只要数值不超过-2……31~2^31-1(对于32位的编译器来说),编译器就不会报错,所以第二个和第四个结果都是ture.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: