The point is the constuctor of Character takes char as an argument. In method parameters, implicit narrowing conversion does not happen that's why you can pass only a char. Now, as you can convert an int to char by explicit casting, you are thinking that it is enforced by Character class but actually it is a standard rule and can happen to any method that takes a char.
On the other hand, Interger takes and int, Long take a long, Float takes a float and all of these will easily accept a char as a char can be implicitly "widened" to any of these data types. Again, this has nothing to do with these classes. It is a standard rule that a small data type can be automatically widened to a bigger datatype.
HTH,
Paul.
------------------
Get Certified, Guaranteed!
(Now Revised for the new
Pattern)
www.enthuware.com/jqplus