java - 尝试使用 String 和 URL 数组作为参数实现两个构造函数会产生不明确的错误

标签 java arrays constructor overloading

我正在实现名为 ClasspathDiscoverer 的类,并且有两个具有如下所示签名的构造函数。

public class ClasspathDiscoverer {

public ClasspathDiscoverer() {

}

public ClasspathDiscoverer(String[] paths) {

}

public ClasspathDiscoverer(URL[] urls) {

}
}

编译它给我一个错误,如下所示,我有点不知道为什么 java 会将字符串数组与 URL 数组混淆?

对 ClasspathDiscoverer 的引用不明确,org.appops.scanner.ClasspathDiscoverer 中的构造函数 ClasspathDiscoverer(java.lang.String[]) 和 org.appops.scanner.ClasspathDiscoverer 中的构造函数 ClasspathDiscoverer(java.net.URL[]) 匹配

有人能帮我理解一下吗?

最佳答案

你的构造函数没有问题。问题在于您在代码中的其他地方初始化类对象。看起来您正在发送一个 null 对象。无法预测您将使用哪个构造函数。

也许可以尝试以下方法:

String[] paths = null;
new ClasspathDiscoverer(paths);

关于java - 尝试使用 String 和 URL 数组作为参数实现两个构造函数会产生不明确的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42455503/

相关文章:

java - 如何从 JWT 获取用户名?

java - Android:如何获取/转换 long 为 int?

c# - 使用 NewtonSoft - 数组将 JSON 反序列化为 .net 对象

javascript - img.variable 不是构造函数

java - 具有默认参数值的构造函数

java - 多线程私有(private)构造函数

java - 带有 2 种纯色的进度条

python - 解包参数 : only named arguments may follow *expression

javascript - push() 不会在 reduce() 中按预期工作

java - 使用 exec 通过 PHP 运行 JAR 时避免 JVM 启动延迟