【发布时间】:2014-05-01 05:02:29
【问题描述】:
如果我在调用东西时传递一个 char 作为参数,它会编译吗?传递一个 int 而不是一个 char 也可以吗?我知道你可以从 int 转换为 char 但它不应该是明确的吗?
我有一个 Test 类,它有一个返回类型为 String 的静态方法,以 char a 和 int x 作为参数。
public class Test {
public static String stuff(char a, int x)
{
char b = (char)x; String s = "";
while (a<b)
s+=a+b--;
return s;
}
public static void main(String args[])
{
System.out.println(stuff('a','d'));
}
}
【问题讨论】:
-
char 最多可以占用 255
-
是的,它会编译。
-
为什么可以将 char 作为 int 传递?传递 'd' 而不是 int。
-
因为 char 最多可以支持 255,超过该值它将不支持并且编译器会抱怨精度损失
-
为什么不需要你显式地转换它
标签: java parameters casting char int