关于boxing和unboxing

   编程过程中遇到一个问题解决的时候发现了jdk5中boxing和unboxing的知识。java中int和integer是对应的一对基础类型和高级类,jdk5中采用了boxing的方式,Interger
  i = 100;是合法的,并且也可以使用 i = 15;j=15;之类的操作方式。i==j也是返回true的,但是当i超过-128到127范围的时候,就会发生变化了,i=1000;j=1000;i==j返回的是false。为啥呢?是因为在i超过范围的时候,会被unboxing为一个integer变量,而对于两个integer类型来用==运算符,当然是false了,需要用equal方法了。但是仍旧可以做i==1000;返回仍旧是true。

你可能感兴趣的:(编程,J#)