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.
相关文章推荐
- 配置struts tags 输出HTML
- Java中介者设计模式
- Spring整合websocket整合应用示例(下)
- Spring-JDBC
- struts2过滤器和拦截器的区别分析
- myeclipse2014新建maven项目
- spring mvc+ajax分页
- Spring整合WebSocket应用示例(上)
- java List.subList方法
- JAVA解析Excel表格并读取相关内容
- Java 多线程之 synchronized 和 volatile 的比较
- Java 多线程之 synchronized 和 volatile 的比较
- 在java Spring基础上实现自定义异常处理框架教程
- JAVA调用MYSQL存储过程 实例
- java的对象copy
- Eclipse快捷键
- eclipse打maven的jar包连依赖jar一起打包方法
- java变量所占字节数及取值范围
- 【Java】Integer的常量池
- Eclipse--Java注释模板设置详解