int和Integer有什么区别
来源:互联网 发布:华为交换机 端口详解 编辑:程序博客网 时间:2024/06/07 17:51
Java是一个近乎纯洁的面向对象编程语言,但是为了编程的方便还是引入了基本数据类型,但是为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(wrapper class),int的包装类就是Integer,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换。
Java 为每个原始类型提供了包装类型:
- 原始类型: boolean,char,byte,short,int,long,float,double
- 包装类型:Boolean,Character,Byte,Short,Integer,Long,Float,Double
class AutoUnboxingTest {public static void main(String[] args) {Integer a = new Integer(3);Integer b = 3; // 将3自动装箱成Integer类型int c = 3;System.out.println(a == b); // false 两个引用没有引用同一对象System.out.println(a == c); // true a自动拆箱成int类型再和c比较}}
最近还遇到一个面试题,也是和自动装箱和拆箱有点关系的,代码如下所示:
public class Test03 {public static void main(String[] args) {Integer f1 = 100, f2 = 100, f3 = 150, f4 = 150;System.out.println(f1 == f2);//trueSystem.out.println(f3 == f4);//false}}
简单的说,如果整型字面量的值在-128到127之间,那么不会new新的Integer对象,而是直接引用常量池中的Integer对象,
所以上面的面试题中
f1==f2的结果是true
f3==f4的结果是false。
区别:
Integer默认值是null,而int默认值是0
声明为Integer的变量需要实例化,而声明为int的变量不需要实例化
阅读全文
0 0
- int 和 Integer 有什么区别
- 3 int 和 Integer 有什么区别
- int 和 Integer 有什么区别
- int 和 Integer 有什么区别
- int 和Integer有什么区别?
- int 和 Integer 有什么区别
- 转载-int 和 Integer 有什么区别
- int 和 Integer 有什么区别?
- int 和 Integer 有什么区别
- int 和 Integer 有什么区别?
- int和Integer有什么区别
- int 和 Integer 有什么区别
- int和Integer有什么区别?
- Java int和Integer有什么区别
- int 和Integer 有什么区别?
- int 和 Integer 有什么区别
- int 和 Integer 有什么区别?
- int 和 Integer 有什么区别
- MyBatis基础-增删改查
- Android编程常见错误汇总
- MFC CEdit控件
- To The Max(动态规划)
- netty实战之百万级流量NioEventLoopGroup线程数配置
- int和Integer有什么区别
- 【yoyo】点击切换图片
- DELL PowerEdge R710服务器内存条插法
- JQuery 正则表达
- C++多线程——三种线程实现方式的区别与实际应用建议
- Android开发 自定义悬浮可拖动view
- git资料
- vim中寄存器说明
- link_directories, LINK_LIBRARIES, target_link_libraries使用总结