java中的Println null参数
一位采访者问我这个问题,这个项目的产出是什么 但是我在最后尝试了第一行编译,但是第二行没有编译,这背后的原因是什么 任何人都可以告诉我java中的Println null参数,java,string,Java,String,一位采访者问我这个问题,这个项目的产出是什么 但是我在最后尝试了第一行编译,但是第二行没有编译,这背后的原因是什么 任何人都可以告诉我 package swain.javainterviewhub.blogspot.in; import java.util.Scanner; public class JavaInterviewHub { public static void main(String[] args) { String str=null;
package swain.javainterviewhub.blogspot.in;
import java.util.Scanner;
public class JavaInterviewHub {
public static void main(String[] args) {
String str=null;
System.out.println(str);//Line 1 Compile
System.out.println(null);/Line 2 Not compile
}
}
什么是实数中的null。它是字符串、字符或整数。我的问题是什么是null类型。
谢谢
Sitansu第二行未编译,因为System.out是一个PrintStream实例,并且PrintStream有多个println方法采用引用类型参数printlnString x和printlnchar x[]。当传递null时,编译器无法决定选择哪个重载方法
System.out.printlnstr通过编译,因为参数字符串的类型只匹配println-printlnString x的一个重载版本。第二行不编译,因为System.out是一个PrintStream实例,PrintStream有多个println方法,它们接受引用类型参数printlnString x和printlnchar x[]。当传递null时,编译器无法决定选择哪个重载方法
System.out.printlnstr通过编译,因为参数字符串的类型只匹配println-printlnString x的一个重载版本。我不知道为什么要打印Null。在Print语句中,可以将s字符串设为Null。 您可以这样使用:
String str=null;
System.out.println(str);//Line 1 Compile
System.out.println("null");Print Null
我不知道你为什么打印空。在Print语句中,可以将s字符串设为Null。 您可以这样使用:
String str=null;
System.out.println(str);//Line 1 Compile
System.out.println("null");Print Null
你可以投下它使它工作
System.out.println((String)null);
你可以投下它使它工作
System.out.println((String)null);
编译器会给你什么错误?这将提示您原因。printlnchar[]方法对于PrintStream类型是不明确的。在第二种情况下,编译器无法区分您是指System.out.printlnObjectnull还是System.out.printlnStringnull,或者实际上是指System.out.printlnchar[]null。请注意,println的其他一些重载也可能采用空引用。编译器会给出什么错误?这将提示您原因。printlnchar[]方法对于PrintStream类型是不明确的。在第二种情况下,编译器无法区分您是指System.out.printlnObjectnull还是System.out.printlnStringnull,或者实际上是指System.out.printlnchar[]null。请注意,可能还有其他一些println重载也可能采用null引用。请注意,您可以通过添加显式强制转换:printlnStringnull来修复此问题。请注意,您可以通过添加显式强制转换:printlnStringnull来修复此问题。