Réflexion Java - d'Obtenir la taille de l'objet array

Je me demandais si l'un sait comment procéder pour obtenir la taille d'un objet de tableau à l'aide de la réflexion?

J'ai un Véhicules composant contenant un tableau d'objet de type Voiture.

Vehicles.java

public class Vehicles{

    private Car[] cars;

    //Getter and Setters
}

Car.java

public class Car{

    private String type;
    private String make;
    private String model;

    //Getter and Setters
}

Je me demandais comment j'allais être en mesure d'obtenir la taille de la voitures tableau à l'intérieur de la véhicules composant à l'aide de Java Réflexion?

Je actuelle est la suivante:

final Field[] fields = vehicles.getClass().getDeclaredFields();

if(fields.length != 0){
    for(Field field : fields){
        if(field.getType().isArray()){
            System.out.println("Array of: " + field.getType());
            System.out.println(" Length: " + Array.getLength(field.getType()));
        }
    }
}

qui génère l'erreur suivante:

java.lang.IllegalArgumentException: Argument is not an array
    at java.lang.reflect.Array.getLength(Native Method)

Des idées?

OriginalL'auteur Harvey Sembhi | 2013-04-09