我试图在Java中使用一个可以接受a int[]
或a 的重载构造函数String
.我得到一个编译错误,这似乎表明在这个构造函数中,如果变量是一个null
字符串或一个null
数组,调用将是不明确的.
有一个简单的方法吗?
将参数转换为以下类型之一:
Foo f1 = new Foo((int[]) null); // or Foo f2 = new Foo((String) null);
最简单的方法 - 避免null
.如果它是一个空的String
使用""
; 一个空的int[]
用途new int[]
.
要回答这个问题,您可以使用强制转换或为变量赋值null:
new MyClass((String)null) final String nullString = null; new MyClass(nullString)
前者通常是首选,如果您打算这样做的话.