Java刷题知识点之自动拆装箱

简介:
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。
   自动拆箱是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
    
   }
    
}


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7413887.html,如需转载请自行联系原作者
目录
打赏
0
0
0
0
65
分享
相关文章
校招 Java 面试常见知识点及实战案例全解析
本文全面解析了Java校招面试中的常见知识点,涵盖Java新特性(如Lambda表达式、、Optional类)、集合框架高级应用(线程安全集合、Map性能优化)、多线程与并发编程(线程池配置)、JVM性能调优(内存溢出排查、垃圾回收器选择)、Spring与微服务实战(Spring Boot自动配置)、数据库与ORM框架(MyBatis高级用法、索引优化)、分布式系统(分布式事务、缓存应用)、性能优化(接口优化、高并发限流)、单元测试与代码质量(JUnit 5、Mockito、JaCoCo)以及项目实战案例(电商秒杀系统、社交消息推送)。资源地址: [https://pan.quark.cn/s
83 4
校招 Java 面试常见知识点汇总及备考指南
本文全面解析校招Java面试常见知识点,涵盖Java基础、集合框架、多线程并发、JVM等内容。从面向对象特性(封装、继承、多态)到数据类型与包装类,再到字符串处理和关键字用法,逐一剖析。集合框架部分深入讲解List、Set、Map接口及其常用实现类的特性和应用场景。多线程章节探讨线程创建、同步机制及线程池的使用。JVM部分聚焦内存区域、垃圾回收机制和类加载过程。结合实际案例,助你轻松应对校招面试!资源地址:[点此获取](https://pan.quark.cn/s/14fcf913bae6)。
46 0
揭秘JAVA深渊:那些让你头大的最晦涩知识点,从泛型迷思到并发陷阱,你敢挑战吗?
【8月更文挑战第22天】Java中的难点常隐藏在其高级特性中,如泛型与类型擦除、并发编程中的内存可见性及指令重排,以及反射与动态代理等。这些特性虽强大却也晦涩,要求开发者深入理解JVM运作机制及计算机底层细节。例如,泛型在编译时检查类型以增强安全性,但在运行时因类型擦除而丢失类型信息,可能导致类型安全问题。并发编程中,内存可见性和指令重排对同步机制提出更高要求,不当处理会导致数据不一致。反射与动态代理虽提供运行时行为定制能力,但也增加了复杂度和性能开销。掌握这些知识需深厚的技术底蕴和实践经验。
201 2
Java网络编程知识点
Java网络编程知识点
120 13
【Java基础面试九】、说一说自动装箱、自动拆箱的应用场景
这篇文章介绍了Java中的自动装箱和自动拆箱概念:自动装箱允许将基本类型赋值给对应的包装类对象,而自动拆箱允许将包装类对象赋值给基本类型,从而简化了两者之间的转换过程。
【Java基础面试九】、说一说自动装箱、自动拆箱的应用场景
|
11月前
|
Java零基础教学(13):自动拆箱与自动装箱详解
【8月更文挑战第13天】Java零基础教学篇,手把手实践教学!
120 1
Java零基础教学(13):自动拆箱与自动装箱详解
Java基础-知识点(二)
Java基础-知识点(二)
64 0
Java基础-知识点(一)
Java基础-知识点(一)
79 0
|
11月前
|
Java零基础(17) - 自动拆箱与自动装箱
【8月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
105 3
阿里开发手册 嵩山版-编程规约 (四)OOP规约-Java程序员必看知识点!!!
《阿里开发手册 嵩山版》的OOP规约部分强调了面向对象编程的最佳实践,包括正确使用静态方法、覆写方法的注解、可变参数的使用、接口的稳定性、equals和compareTo方法的使用、BigDecimal的正确比较、包装类与基本数据类型选择、POJO类的属性和方法设计等,以提升代码的质量和维护性。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问