我最近了解到,使用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()
,并且对为什么发生此错误感到困惑。
学生最终在那里想要一个字符串,而该方法只是一个占位符。我解释了编译需要某种参数。
我的问题是:为何编译器会做出此假设并给出此错误?