unten ist mein Code, der einen Fehler auslöst:
Cannot invoke size() on the array type int[]
Code:
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]);
}
}
Sogar ich habe es mit array.length()
versucht, es warf den gleichen Fehler. Wenn ich dasselbe mit string_name.length()
verwendet habe, funktioniert es gut.
Warum funktioniert es nicht für ein Integer-Array?
Die Länge eines Arrays ist verfügbar als
int l = array.length;
Die Größe einer List
ist verfügbar als
int s = list.size();
Array hat
array.length
während List hat
list.size()
Ersetzen Sie array.size()
durch array.length
wir können die Länge des Arrays mithilfe des Attributs array_name.length ermitteln
int [] i = i.Länge;
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]);
}
}
}
}
Integer Array enthält keine size () oder length () Methode. Versuchen Sie den folgenden Code, es wird funktionieren. ArrayList enthält die size () -Methode. String enthält length (). Da Sie int array [] verwendet haben, wird es array.length sein
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);
}
}
}
}
Es gibt keinen Methodenaufruf size()
mit array
. Sie können array.length
verwenden
Ich denke, Sie sind zwischen Größe () und Länge verwirrt.
(1) Der Grund für die Größe der Klammern besteht darin, dass die Klasse von list List ist und ein Klassentyp ist. List-Klasse kann also die Methode size () haben.
(2) Der Typ des Arrays ist int [] und es ist ein primitiver Typ. Wir können also nur Länge verwenden