为什么/何时System.out.println();给出错误:方法print(boolean)...不适用

我最近了解到,使用System.out.print();会导致此错误:

The method print(boolean) in the type printstream is not applicable for the arguments ()

我在帮助其他人进行编码时发现了这一点。当然,自然的问题是:为什么他们的代码中没有参数而又没有。我在文档中没有发现此案例的错误。

搜索文档时,我发现System.out.print(T t)是为许多类型定义的,但是当根本不存在任何参数时,它默认为print​(boolean x)Reference

然后,它当然会抱怨该论点不适用。

我正在帮助的人是一名新来的学生,他经常使用System.out.println(),并且对为什么发生此错误感到困惑。

学生最终在那里想要一个字符串,而该方法只是一个占位符。我解释了编译需要某种参数。

我的问题是:为何编译器会做出此假设并给出此错误?

snow2059 回答:为什么/何时System.out.println();给出错误:方法print(boolean)...不适用

我认为控制台切断了整个消息,当我尝试在Intellij中编译System.out.print()时,它将显示所有消息:

no suitable method found for print(no arguments)
method java.io.PrintStream.print(boolean) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(char) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(int) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(long) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(float) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(double) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(char[]) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(java.lang.String) is not applicable
  (actual and formal argument lists differ in length)
method java.io.PrintStream.print(java.lang.Object) is not applicable
  (actual and formal argument lists differ in length)

编译器尝试按碰巧在文件中声明的顺序匹配所有方法。

,

我有同样的错误,我是这样解决的:

原来是

 System.out.println("x=",x);

改为:

 System.out.println("x="+ x);
本文链接:https://www.f2er.com/1437421.html

大家都在问