牛客网Java刷题知识点之自动拆装箱
2017-08-22 21:55
246 查看
不多说,直接上干货!
Java语言支持的8种基本数据类型是:
byte
short
int
long
float
double
boolean
char
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成Double,等等。反之就是自动拆箱。
Java支持的数据类型包括两种:一种是基本数据类型,包含byte,char,short, boolean ,int , long, float,double;另一种是引用类型:如String等,其实是对象的引用,JVM中虚拟栈中存的是对象的地址,创建的对象实质在堆中,通过地址来找到堆中的对象的过程,即为引用类型。
自动装箱就是Java编译器在基本数据类型和对应的对象包装类型间的转化,即int转化为Integer。
[b]自动拆箱[/b]是Integer调用其方法将其转化为int的过程。
题目链接
1、Integer有三种创建方式:
Integer i1 = 59;
Integer i2 = Integer.valueOf(59);
Integer i3 = new Integer(59);
2、如果一个Integer类型的数和int类型的数相比(==),那么,由于会自动拆箱,Integer会拆箱为int型,所以,只要数值相等,则这个Integer就和int型的数字相等,不管这个Integer是以何种方式创建的。
https://www.nowcoder.com/ta/review-java/review?query=&asc=true&order=&page=5
Java语言支持的8种基本数据类型是:
byte
short
int
long
float
double
boolean
char
自动装箱是Java编译器在基本数据类型和对应的对象包装类型之间做的一个转化。比如:把int转化成Integer,double转化成Double,等等。反之就是自动拆箱。
Java支持的数据类型包括两种:一种是基本数据类型,包含byte,char,short, boolean ,int , long, float,double;另一种是引用类型:如String等,其实是对象的引用,JVM中虚拟栈中存的是对象的地址,创建的对象实质在堆中,通过地址来找到堆中的对象的过程,即为引用类型。
自动装箱就是Java编译器在基本数据类型和对应的对象包装类型间的转化,即int转化为Integer。
[b]自动拆箱[/b]是Integer调用其方法将其转化为int的过程。
题目链接
https://www.nowcoder.com/profile/4002626/myFollowings/detail/3200810
1、Integer有三种创建方式:
Integer i1 = 59;
Integer i2 = Integer.valueOf(59);
Integer i3 = new Integer(59);
2、如果一个Integer类型的数和int类型的数相比(==),那么,由于会自动拆箱,Integer会拆箱为int型,所以,只要数值相等,则这个Integer就和int型的数字相等,不管这个Integer是以何种方式创建的。
package Test; public class IntegerTest { public static void main(String[] args) { Integer i1 = 59; Integer i2 = Integer.valueOf(59); Integer i3 = new Integer(59); int i4 = 59; //只要是和int类型的比较,不管Integer如何创建,只要满足数值相等,就为true,因为会自动拆箱 System.out.println(i1==i4);//true System.out.println(i2==i4);//true System.out.println(i3==i4);//true //只要是new Integer,并且比较的不是int型,那么,一定不相等 System.out.println(i2==i3);//false System.out.println(i1==i3); //false //如果涉及到Integer.valueOf这个方法,那么,只要记住, // 如果 Integer i1 = 59,这个值在-128到127范围内,则true // 否则,false System.out.println(i1==i2); //true Integer i7 = 129; Integer i8 = Integer.valueOf(129); System.out.println(i7==i8);//false } }
相关文章推荐
- java自动拆装箱知识点
- 牛客网Java刷题知识点之基本类型的自动转换和基本类型的强制转换
- 牛客网Java刷题知识点之表达式类型的自动提升
- 黑马程序员_Java基础:JDK1.5后的新特性:自动拆装箱,以及注意事项
- 牛客网Java刷题知识点之数组、链表、哈希表、 红黑二叉树
- 牛客网Java刷题知识点之什么是异常、异常处理的原理是什么、为什么要使用异常、异常体系、运行时异常、普通异常、自定义异常、异常链
- 黑马程序员------java中的泛型、增强for循环、可变参数、静态导入、自动拆装箱、枚举
- IT十八掌作业_java基础第九天_多线程、自动拆装箱
- java---牛客网java专项训练知识点集锦
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- 黑马程序员————java基础--------JDK1.5新特性之泛型、自动拆装箱、增强for、静态导入、可变参数
- JAVA基础复习十三-StringBuffer、数组排序、二分查找、自动拆装箱
- 牛客网Java刷题知识点之OSI七层参考模型 和 TCP/IP五层参考模型
- Java记录 -77- 增强的for循环与自动拆装箱
- Java基础---基础加强---增强for循环、自动拆装箱及享元、枚举的作用、实现带有构造方法、透彻分析反射的基础_Class类、成员变量的反射、数组参数的成员方法进行反射、数组的反射应用
- 牛客网Java刷题知识点之TCP、UDP、TCP和UDP的区别、socket、TCP编程的客户端一般步骤、TCP编程的服务器端一般步骤、UDP编程的客户端一般步骤、UDP编程的服务器端一般步骤
- 牛客网Java刷题知识点之什么是迭代器
- 牛客网Java刷题知识点之ArrayList 、LinkedList 、Vector 的底层实现和区别
- java包装类及自动拆装箱和自动拆箱
- Java学习笔记之Integer自动拆装箱、数据常量池