如果我有一个数组Candy[] type;
和type = new Candy[capacity];
如果数组已满capacity = type.length
?
答案 0 :(得分:4)
Java创建一个数组,capacity
个Candy
个实例初始化数组的引用数为null
个type.length == capacity
。所以java中的任何数组都已满并且
type = new Candy[capacity]
总是如此。
type = new Candy[] {null, null, null, /* capacity count of nulls */, null};
相当于
{{1}}
答案 1 :(得分:3)
由于您使用的是数组,因此在编译期间会确定数组的大小。因此,如果您打算检查当前数组的索引是否已到达最后一个数组元素,则可以使用以下条件(可能在循环中)来检查当前数组索引是否是最后一个元素。如果是,则它已到达数组的最后一个元素。
示例:强>
int[] candy = new int[10]; //Array size is 10
//first array: Index 0, last array index: 9.
for (int x=0; x < candy.legnth; x++)
if (x == candy.length-1)
//Reached last element of array
您可以使用以下方法检查数组的大小:
candy.length
使用以下方法检查最后一个元素:
if (currentIndex == candy.length-1) //Where candy is your array
确保使用双等 ==
进行比较。
单一等级=
用于分配。
答案 2 :(得分:2)
在示例中,您显示type.length
将始终等于capacity
(初始化后)。此外,您的数组将始终包含capacity
个元素,但它们最初都是null
。
答案 3 :(得分:-1)
如果要检查数组是否已满(没有空元素),请使用以下内容:
//1
boolean b = false;
//2
for(int i = 0; i < type.length; i++){
if(type[i] == null){
b = true;
}
}
//3
if(!b){
System.out.println("Array is full");
}
这是什么意思?
// 1。一开始你有一个布尔值(b)是假的。
// 2。如果数组中的任何值为null,则b为真。
// 3。您检查b的值是否仍为false。如果是,那意味着b永远不会改变,所以数组已满(没有空元素)。