我想知道Eclipse中的错误消息是什么意思:
构造函数Case(Problem,Solution,double,CaseSource)存在二义性
当您尝试实例化一个可能适用于多个构造函数的类时,就会出现问题。
例如:
public Example(String name) {
this.name = name;
}
public Example(SomeOther other) {
this.other = other;
}
如果你用一个String对象调用构造函数,那么就有一种确定的构造函数。然而,如果你实例化new Example(null)
,它可以应用于任何一个构造函数,因此是不明确的。同样的情况也可能发生在参数签名相似的方法中。除了其他回答之外,可以通过将参数转换为所需的类型来避免此问题,例如:
class Foo {
public Foo(String bar) {}
public Foo(Integer bar) {}
public static void main(String[] args) {
new Foo((String) null);
}
}
Case
实例。
在您的情况下:
Case(Problem, Solution, double, CaseSource)
Java使用参数类型创建方法(构造函数)签名。您可以有两个具有相似参数类型的方法,因此可能会出现提供模糊参数的歧义调用,这些参数可能匹配多个方法(构造函数)签名。
您可以使用以下代码重现此错误(这不是eclipse的错):
class A {
public A(String a) { }
public A(Integer a) { }
static public void main(String...args) {
new A(null); // <== constructor is ambiguous
}
}
Case
зұ»дёӯиҝҳжңүе“Әдәӣжһ„йҖ еҮҪж•°пјҹ - biziclop