Q:

Java Reflection isArray() always false

I got a question about Java Reflections: I have to checkout, if a certain field of a class is an array. 
But my problem is: If i run isArray() on the attribute of the class directly, it works.  But if I use it in the way below, it won"t work.  I guess because the "real" array is in this Field class? 
Any idea how i get it to work - I think there is missing a cast or sth like that? 
Thanks! 
Field fields[] = object.getClass().getDeclaredFields();

for (Field field : fields) {
    if (field.getClass().isArray()) {
        //Always false. 
    }
}

A:

field.getType()! 

A:

Your code should read
Field fields[] = obj.getClass().getDeclaredFields();

for(Field field : fields) {
  if(field.getType().isArray()){
     //Actually works
  }
}

Using field.getClass() as you are will always return Field.class or a Class instance of a subclass of Field*. 
*My apologizes for such a confusingly worded sentence.