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



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

String foo=123;

是不允许的。但是,在 System.out.printIn() ,我们可以使用类似的东西:

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

既然不允许将整数隐式分配给字符串,为什么上面的表达式有效?任何人都可以给出详细的解释吗?我也想知道我们什么时候可以使用这种隐式的东西,什么时候不能。

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

看看这里: 打印流

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)

System的静态成员out是一个PrintStream,它有一个带有签名println(int)的方法。

查看 API for PrintStreamSystem.out 是一个PrintStream)。它有方法println()println(boolean)println(char)println(char[])、println(double)println(float)println(int)println(long)println(Object)println(String)。这称为方法重载(向下滚动以查找有关方法重载的部分)。

如果要从整数文本创建String,可以在它周围加上引号(String s = "123";),也可以使用Integer.toStringString s = Integer.toString(123);)或String.valueOfString s = String.valueOf(123);)。

我假设你的意思不是println不是printin,java为每个数据类型都有一个println函数,所以你可以在布尔值,整数,字符串等上调用println,它会选择正确的函数。当然,您不能为字符串变量赋值整数,因为它们是不同的类型。

最新更新