System.out.printIn()如何接受整数?

One*_*ero 8 java

所以我几天前开始学习java并得到一个问题.对于下一个表达式:

String foo=123;
Run Code Online (Sandbox Code Playgroud)

不被允许.但是,System.out.printIn()我们可以使用以下内容:

int x=5;
System.out.println(x);
Run Code Online (Sandbox Code Playgroud)

由于不允许隐式地将整数赋给字符串,为什么上面的表达式有效呢?有人可以详细解释一下吗?我也想知道我们什么时候可以使用这种隐含的东西,什么时候不能.

MAV*_*MAV 15

您可以使用整数调用println的原因是因为该方法已重载.基本上有多个名为println的方法,其中一个接受整数.

看看这里:PrintStream


Eng*_*uad 11

PrintStream 有很多重载方法System.out:

println(boolean x)
println(char x)
println(int x)
println(long x)
println(float x)
println(double x)
println(char x[])
println(String x)
println(Object x)
Run Code Online (Sandbox Code Playgroud)