为什么整数和int可以互换使用?[英] Why can Integer and int be used interchangably?

问题描述

我很困惑为什么 Integer 和 int 在 Java 中可以互换使用,即使一个是基本类型而另一个是对象?

例如:

Integer b = 42;
int a  = b;

或者

int d = 12;
Integer c = d;

推荐答案

文章开头几句描述的很好:

<块引用>

您不能将 int(或其他原始值)放入集合中.集合只能保存对象引用,因此您必须将原始值装入适当的包装类(在 int 的情况下为 Integer).当你从集合中取出对象时,你会得到你放入的 Integer;如果需要 int,则必须使用 intValue 方法对 Integer 进行拆箱.所有这些装箱和拆箱都是一种痛苦,并且会使您的代码混乱.自动装箱和拆箱功能使过程自动化,消除了痛苦和混乱.

简而言之,基本上就是这样.它允许您利用原始集合框架,而无需自己完成工作.

主要缺点是它会使新程序员感到困惑,如果不正确理解和使用,可能会导致代码混乱/混乱.

本文地址:https://www.itbaoku.cn/post/978760.html