gpt4 book ai didi

java - 为什么 int 参数允许传递 char 值,但 char 参数不接受传递 int 值?

转载 作者:行者123 更新时间:2023-11-30 02:52:00 25 4
gpt4 key购买 nike

当我声明 Java 方法时,为什么 Java int 参数接受传递的 char 值,但 char 参数不接受传递的 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("----------------------------------------");

最佳答案

隐式转换

由于 int 足够大,可以容纳 char 的所有可能值,因此将执行自动转换 - 这称为隐式转换,并且因此,在使用 char 调用该方法时不需要执行任何操作。

您可以使用显式强制转换:

printChar((char)97);

但是要小心这种危险,除非您确定自己想要实现什么目标。

关于java - 为什么 int 参数允许传递 char 值,但 char 参数不接受传递 int 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38355395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com