java - 为什么 int[] a = new int[1] 而不是 int a?

标签 java integer

这段代码中是否有一些我在 Java 中看不到的隐藏含义?它有什么用处?

int[] a = new int[1];

不仅仅是

int a;

因为从我的角度来看它是一样的?

最佳答案

int a

定义一个原始 int。

int[] a = new int[1];

定义一个数组,该数组的空间可容纳 1 个 int。

它们是两种截然不同的东西。原语没有方法/属性,但数组有属性(长度)和方法(特别是它的克隆方法,以及对象的所有方法)。

数组有点奇怪。它们在 JLS 中定义.

在实践中,当您需要与采用数组并对结果进行操作的 API 进行交互时,这样做是有意义的。传递对具有 0、1 或 n 个属性的数组的引用是完全有效的。定义具有 1 个元素的数组可能还有其他正当理由。

我想不出任何用例,您想要定义一个包含一个元素的数组,只是为了绕过数组并获取元素。

关于java - 为什么 int[] a = new int[1] 而不是 int a?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6222531/

相关文章:

ruby - 在 Ruby 中模拟 int64 溢出

java - 为什么 int 变量值在 Integer.MIN_VALUE 处并递减时设置为 Integer.MAX_VALUE

c - 开关 : Declared Variable outside switch and use it in it

java - ImageJ - 即使遇到错误如何继续批处理

java - 使用 buildpack 中的 SQL 驱动程序在 Pivotal Cloud Foundry 上部署具有多个数据源的应用程序

java - 如何在项目中显示 *plugins* 的 Maven 依赖关系树?

java - 如何处理 JSR 310 中的大写或小写?

java - YUV_420_888转ARGB变绿

php - 创建匹配数字范围的正则表达式的函数

mysql - 为什么 MySQL 查询在 VB.net 中将整数列读取为字节数组?