如何检查我的 int 数组是否为空,标准值为 0?

How do I check if my int array is empty, with the standard value being 0?

所以我遇到了一个我似乎无法解决的问题。所以假设我有一个 int 数组并想检查数组是否仍然有 space 来添加某个元素(从 0-∞)或者没有 space 离开,这意味着我需要创建一个新数组。

问题是当我的 int 数组有一个 space 来存储十个值时,所有 space 都用 0 填充,所以我的程序认为这个数组已满。而且我也不能排除 0 因为我要添加的元素也可能是 0。

有什么建议吗?

您需要通过其他变量来跟踪哪些位置已填充。 Java 数组本身(创建时)用 0-s 初始化,技术上它总是满的。

如果你需要一个动态扩展的数组,我的建议是使用java.util.List,它非常好用,在大多数情况下可以很好地替换Java数组。

List教程很好找,这里是an example.

这就是您的使用方式:

import java.util.ArrayList;
import java.util.List;

....
List<String> a = new ArrayList<>();
a.add("Hello");
a.add("World");
System.out.println(a.size());

您可以轻松转换为标准数组:a.toArray()

您可能正在使用 int[]?原始类型 int 不能是 null。一个非常简单的解决方案是使用包装器 class Integer.

Integer[] intArray = {null, 0, 10};

如果您的数字总是大于或等于 0,您可以将未使用的数字设置为 -1。