我想将字符串参数作为“null”传递
但是,这是针对构造函数中的超级方法的-所以我不能这样做
String s = null;
super(s);
我不能只是做
super(null)
因为这将导致模棱两可的方法调用。我也不希望有一个为此为空的实例变量,这似乎不优雅。
有没有办法创建一个空字符串?
注意
new String(null) //does not compile
我想将字符串参数作为“null”传递
但是,这是针对构造函数中的超级方法的-所以我不能这样做
String s = null;
super(s);
我不能只是做
super(null)
因为这将导致模棱两可的方法调用。我也不希望有一个为此为空的实例变量,这似乎不优雅。
有没有办法创建一个空字符串?
注意
new String(null) //does not compile
就这样做
super((String)null);
CodeMan 贴出正确答案,另一种解决方案,远离 null,并考虑使用 Empty 字符串进行初始化
super("");
这将避免以后进行空检查。
您遇到的问题是编译器不知道应该使用哪个构造函数。
String 有各种单参数构造函数。
String(String)
String(char value[])
String(StringBuffer)
String(StringReader)
使用String(null)
时,不知道应该使用哪个。
请记住,当您使用null
as 参数(在方法或构造函数中)时,您应该始终将其转换为所需的类型。
new String((String) null);