当前位置:  开发笔记 > 编程语言 > 正文

重载构造函数歧义

如何解决《重载构造函数歧义》经验,为你挑选了2个好方法。

我试图在Java中使用一个可以接受a int[]或a 的重载构造函数String.我得到一个编译错误,这似乎表明在这个构造函数中,如果变量是一个null字符串或一个null数组,调用将是不明确的.

有一个简单的方法吗?



1> Joachim Saue..:

将参数转换为以下类型之一:

Foo f1 = new Foo((int[]) null);
// or
Foo f2 = new Foo((String) null);



2> Tom Hawtin -..:

最简单的方法 - 避免null.如果它是一个空的String使用""; 一个空的int[]用途new int[].

要回答这个问题,您可以使用强制转换或为变量赋值null:

new MyClass((String)null)

final String nullString = null;
new MyClass(nullString)

前者通常是首选,如果您打算这样做的话.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有