Просто чтобы вы могли видеть, что isPrimitive может вернуть true (поскольку у вас достаточно ответов, показывающих, почему это false):
public class Main
{
public static void main(final String[] argv)
{
final Class clazz;
clazz = int.class;
System.out.println(clazz.isPrimitive());
}
}
Это имеет значение при отражении, когда метод принимает "int", а не "Integer".
Этот код работает:
import java.lang.reflect.Method;
public class Main
{
public static void main(final String[] argv)
throws Exception
{
final Method method;
method = Main.class.getDeclaredMethod("foo", int.class);
}
public static void foo(final int x)
{
}
}
Этот код не работает (не удается найти метод):
import java.lang.reflect.Method;
public class Main
{
public static void main(final String[] argv)
throws Exception
{
final Method method;
method = Main.class.getDeclaredMethod("foo", Integer.class);
}
public static void foo(final int x)
{
}
}
int.class.isPrimitive()
урожайностьtrue
;Integer.class.isPrimitive()
урожайностьfalse
.