当前位置: 首页 > 面试题库 >

为什么`System.out.println(null);`给出“对于类型PrintStream错误,方法println(char [])不明确”?

杨志强
2023-03-14
问题内容

我正在使用代码:

System.out.println(null);

它显示错误:

The method println(char[]) is ambiguous for the type PrintStream

为什么没有null代表Object


问题答案:

有3种println的方法PrintStream接受一个引用类型- ,println(char x[]),。println(String x)``println(Object x)

通过时null,所有3个都适用。方法重载规则更喜欢具有最特定参数类型的方法,因此println(Object x)不选择。

然后,编译器不能在前两个- println(char x[])println(String x)- 之间进行选择,因为String它不比-
更具体char[],反之亦然。

如果要选择特定的方法,请将null强制转换为所需的类型。

例如 :

System.out.println((String)null);


 类似资料:
  • 我有一个非常简单的方法,可以将动态变量转换为int,如下所示: 我有这个模型类: 现在,当我尝试使用该方法将上述类的属性从dynamic转换为int时: 我得到类型'int'不是类型'String'错误的子类型。我尝试将属性从动态更改为String,仍然是相同的错误。 我还尝试对json执行以下操作: 也抛出类似错误。 请问如何将属性转换为整数?。

  • 将以下代码转换为typescript时出错。 错误TS2339:属性样式在元素类型上不存在。 当我为如下相同的值分配所需值时 那么误差在元素上,那就是 错误TS2322:类型“Element | null”不可分配给类型“{style:any;}”。类型“null”不可分配给类型“{style:any;}”。

  • 我的代码片段如下所示 我收到的方法assertEquals(Object,Object)对于类型是不明确的。我不知道为什么我会得到它?

  • 我正在使用python 2.7。win8上的9。当我尝试使用matplotlib绘图时,出现以下错误: 从pylab导入* 绘图([1,2,3,4]) [matplotlib.lines.Line2D对象位于0x0392A9D0] 我尝试了测试代码“python simple_plot.py--verbose help”,出现了以下警告: $HOME=C:\Users\XX matplotlib数

  • 问题内容: 我正在大学学习基础知识,并且希望对Eclipse中的以下错误有所帮助:“对于类型ShopCLI,未定义方法getCost()”& 这是我的代码 问题答案: 方法是在订单类中定义的,而不是在类中定义的。所以你的代码: 应该改为