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,如需转载请自行联系原作者
相关文章
|
2月前
|
安全 Java 编译器
揭秘JAVA深渊:那些让你头大的最晦涩知识点,从泛型迷思到并发陷阱,你敢挑战吗?
【8月更文挑战第22天】Java中的难点常隐藏在其高级特性中,如泛型与类型擦除、并发编程中的内存可见性及指令重排,以及反射与动态代理等。这些特性虽强大却也晦涩,要求开发者深入理解JVM运作机制及计算机底层细节。例如,泛型在编译时检查类型以增强安全性,但在运行时因类型擦除而丢失类型信息,可能导致类型安全问题。并发编程中,内存可见性和指令重排对同步机制提出更高要求,不当处理会导致数据不一致。反射与动态代理虽提供运行时行为定制能力,但也增加了复杂度和性能开销。掌握这些知识需深厚的技术底蕴和实践经验。
66 2
|
2月前
|
存储 Java 编译器
Java零基础(12) - 自动装箱
【8月更文挑战第12天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
27 2
|
10天前
|
安全 Java 编译器
Java基础-知识点(二)
Java基础-知识点(二)
10 0
|
10天前
|
存储 缓存 安全
Java基础-知识点(一)
Java基础-知识点(一)
12 0
|
2月前
|
Java
【Java基础面试九】、说一说自动装箱、自动拆箱的应用场景
这篇文章介绍了Java中的自动装箱和自动拆箱概念:自动装箱允许将基本类型赋值给对应的包装类对象,而自动拆箱允许将包装类对象赋值给基本类型,从而简化了两者之间的转换过程。
【Java基础面试九】、说一说自动装箱、自动拆箱的应用场景
|
2月前
|
存储 缓存 Java
Java零基础教学(13):自动拆箱与自动装箱详解
【8月更文挑战第13天】Java零基础教学篇,手把手实践教学!
30 1
Java零基础教学(13):自动拆箱与自动装箱详解
|
2月前
|
存储 Java 编译器
Java零基础(17) - 自动拆箱与自动装箱
【8月更文挑战第17天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
41 3
|
2月前
|
存储 Java 测试技术
Java零基础教学(11):自动装箱
【8月更文挑战第11天】Java零基础教学篇,手把手实践教学!
42 5
|
2月前
|
安全 Java 程序员
阿里开发手册 嵩山版-编程规约 (四)OOP规约-Java程序员必看知识点!!!
《阿里开发手册 嵩山版》的OOP规约部分强调了面向对象编程的最佳实践,包括正确使用静态方法、覆写方法的注解、可变参数的使用、接口的稳定性、equals和compareTo方法的使用、BigDecimal的正确比较、包装类与基本数据类型选择、POJO类的属性和方法设计等,以提升代码的质量和维护性。
|
3月前
|
Java 编译器 测试技术
day19:Java零基础 - 自动装箱
【7月更文挑战第19天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
44 4