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

时间:2012-05-24 22:27:45

标签: java

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

String foo=123;

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

int x=5;
System.out.println(x);

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

5 个答案:

答案 0 :(得分:15)

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

看看这里:PrintStream

答案 1 :(得分:10)

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)

答案 2 :(得分:3)

班级out的静态成员SystemPrintStream,其中有一个签名为println(int)的方法。

答案 3 :(得分:3)

查看PrintStream的API(System.outPrintStream)。它包含方法println()println(boolean)println(char)println(char[]),println(double)println(float)println(int),{{1} },println(long)println(Object)。这称为method overloading(向下滚动以查找有关方法重载的部分)。

如果您想从整数文字中创建println(String),可以在其周围添加引号(String)或使用Integer.toStringString s = "123";)或{{ 3}}(String s = Integer.toString(123);)。

答案 4 :(得分:1)

我假设您的意思是打印不打印,java为每种数据类型都有一个println函数,因此您可以在布尔值,整数,字符串等上调用println,它将选择正确的函数。 当然,您不能将整数分配给字符串变量,因为它们是不同的类型。