如何在 java 中查找整数数组大小

How to find integer array size in java

下面是我的代码,它抛出错误:

Cannot invoke size() on the array type int[]

代码:

public class Example{
int[] array={1,99,10000,84849,111,212,314,21,442,455,244,554,22,22,211};    
public void Printrange(){

for (int i=0;i<array.size();i++){
    if(array[i]>100 && array[i]<500)
{
System.out.println("numbers with in range ":+array[i]); 
}


}

即使我尝试使用 array.length(),它也会抛出同样的错误。当我与 string_name.length() 一起使用时工作正常。

为什么它不适用于整数数组?

数组的长度可用

int l = array.length;

List 的大小可用

int s = list.size();

array 没有方法调用 size()。你可以使用 array.length

数组有

array.length

而列表有

list.size()

array.size()替换为array.length

public class Test {

    int[] array = { 1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554,
            22, 22, 211 };

    public void Printrange() {

        for (int i = 0; i < array.length; i++) { // <-- use array.length 
            if (array[i] > 100 && array[i] < 500) {
                System.out.println("numbers with in range :" + array[i]);
            }
        }
    }
}

整数数组不包含 size() 或 length() 方法。试试下面的代码,它会工作。 ArrayList 包含 size() 方法。字符串包含 length()。由于您使用了 int array[],因此它将是 array.length

public class Example {

    int array[] = {1, 99, 10000, 84849, 111, 212, 314, 21, 442, 455, 244, 554, 22, 22, 211};

    public void Printrange() {

        for (int i = 0; i < array.length; i++) {
            if (array[i] > 100 && array[i] < 500) {
                System.out.println("numbers with in range" + i);
            }
        }
    }
}

我们可以使用 array_name.length 属性

找到数组的长度

int [] i = i.length;

我认为您对 size() 和长度感到困惑。

(1) size之所以有括号是因为list的class是List,是class类型。所以 List class 可以有方法 size()。

(2) Array的类型是int[],是原始类型。所以我们只能用length