Когда я объявляю метод Java,Почему параметр java int принимает значение pass char, но параметр char не принимает значение pass int?
почему параметр ява ИНТ принимают переданное значение обугленного
но параметр голец не принимает переданное значение INT?
Например:
// method which : int parameter
public static void printInt(int input) {
System.out.println(input);
}
// method which : char parameter
public static void printChar(char input) {
System.out.println(input);
}
// main
System.out.println("----------------------------------------");
printInt('a'); // print 97 [number of ASCII char 'a']
// int parameter accept char value
printChar(97); // compilation error
// char parameter NOT accept int value
System.out.println("----------------------------------------");
@khelwood это потому, что 'int' считается« более широким », чем' char' из-за диапазона над значениями, которые он может иметь. Примечание: 'float', который является 32-битным, шире' 'long', который является 64-битным. –