我正在实现名为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/

10-08 23:28