¿Int.class es igual a Integer.class o Integer.TYPE en Java?

Imaginemos que uno recupera el tipo de declaración de unaField usando la reflexión.

Cuál de las siguientes pruebas indicará correctamente si se trata de unaint o unInteger?

Field f = ...
Class<?> c = f.getDeclaringClass();
boolean isInteger;

isInteger = c.equals(Integer.class);
isInteger = c.equals(Integer.TYPE);
isInteger = c.equals(int.class);

isInteger = ( c == Integer.class);
isInteger = ( c == Integer.TYPE);
isInteger = ( c == int.class);

Respuestas a la pregunta(2)

Su respuesta a la pregunta