Primitives are not classes, thus you can't get their type like this. However, there's @encode
(see also the NSHipster blog entry) which might be of help to you, depending on what you want to do.
In Java primitives aren't classes either, but through autoboxing the corresponding wrapper classes are used when necessary. Objective-C doesn't do this magic for you.
To solve the usecase: Assuming the function takes only primitive numeric values or NSNumber we can identify the right parameter type using @encoding as described in the comment. There is no other way to reflectively identify the exact method signature.