Integer和new Integer
Posted Jachin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Integer和new Integer相关的知识,希望对你有一定的参考价值。
1
2
3
4
5
6
7
8
9
10
|
public static void main(String[] args) { Integer i1= 10 ; Integer i2= 10 ; Integer i3= new Integer( 10 ); Integer i4= 128 ; Integer i5= 128 ; System.out.println(i1==i2); //true System.out.println(i1==i3); //false System.out.println(i4==i5); //false } |
Integer x = 10;//自动装箱,如果在-128到127之间,则值存在常量池中
Integer y = new Integer(10);//普通的堆中的对象
Java自动装箱和拆箱定义
Java 1.5中引入了自动装箱和拆箱机制:
(1)自动装箱:把基本类型用它们对应的引用类型包装起来,使它们具有对象的特质,可以调用toString()、hashCode()、getClass()、equals()等方法。
如下:
Integer a=3;//这是自动装箱
其实编译器调用的是static Integer valueOf(int i)这个方法,valueOf(int i)返回一个表示指定int值的Integer对象,那么就变成这样:
Integer a=3; => Integer a=Integer.valueOf(3);
(2)拆箱:跟自动装箱的方向相反,将Integer及Double这样的引用类型的对象重新简化为基本类型的数据。
如下:
int i = new Integer(2);//这是拆箱
编译器内部会调用int intValue()返回该Integer对象的int值
注意:自动装箱和拆箱是由编译器来完成的,编译器会在编译期根据语法决定是否进行装箱和拆箱动作。
以上是关于Integer和new Integer的主要内容,如果未能解决你的问题,请参考以下文章
Integer n=new Integer和int n=1的区别
(Integer)session.getAttribute("userType")).equals(new Integer(1))啥意思~
List<Integer>list =new ArrayList<Integer>(); <Integer> 啥意思?
Arrays.asList(array) 和 new ArrayList<Integer>(Arrays.asList(array)) 的区别