I am using the code:
System.out.println(null); It is showing the error:
The method println(char[]) is ambiguous for the type PrintStream Why doesn't null represent Object?
There are 3 println methods in PrintStream that accept a reference type - println(char x[]), println(String x), println(Object x).
When you pass null, all 3 are applicable. The method overloading rules prefer the method with the most specific argument types, so println(Object x) is not chosen.
Then the compiler can't choose between the first two - println(char x[]) & println(String x) - since String is not more specific than char[] and vice versa.
If you want a specific method to be chosen, cast the null to the required type.
For example :
System.out.println((String)null);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With