Gli array sono oggetti e tutti gli oggetti provengono da una classe. Se eseguo il seguente codice:Qual è la classe degli array in Java
public class Test {
public static void main(String[] args) {
String str = "Hello";
System.out.println(str.getClass());
}
}
l'uscita è class java.lang.String
.
Ma se eseguire il seguente:
public class Test {
public static void main(String[] args) {
int arr[] = new int[10];
System.out.println(arr.getClass());
}
}
l'uscita è class [I
.
Le mie domande sono:
- Qual è la classe delle matrici?
- Perché è il risultato?
- Se desidero utilizzare l'operatore
instanceof
come dovrei usarlo? Se eseguoSystem.out.println(arr instanceof Object);
, funziona perfettamente.
Controllare [questo out] (http://stackoverflow.com/questions/6867131/getclass-method-java-with-array-types). È un duplicato per le tue prime due domande. –
Dai un'occhiata a questa domanda http://stackoverflow.com/questions/12806739/is-an-array-a-primitive-type-or-an-object-or-something-else-entely – bhspencer
Grazie per le modifiche –