When you call isPrimitive(1)
, an auto-boxing
will be performed.
It means isPrimitive(Object o) gets an Integer, NOT int.
In this method it's impossible to know if the argument is an primitive data type.
What's more, Java is an static language, so the developer should know its data type
Ref: Java7 Auto Boxing