重複の可能性:
Scala で vararg を使用するメソッドと使用しないメソッドのあいまいさを解消するにはどうすればよいですか?
現在、アプリケーションの一部を scala に移植しており、Oval ライブラリを使用しています。問題のメソッドは Validator.validate メソッドです。2 つの 署名があります。
List<ConstraintViolation> validate(Object validatedObject)
List<ConstraintViolation> validate(Object validatedObject, String... profiles)
一般に、scala コードは次のようになります。
def validate(toValidate: AnyRef) = {
val validator = createValidator
validator.validate(toValidate)
}
そしてエラーメッセージ:
error: ambiguous reference to overloaded definition,
[INFO] both method validate in class Validator of type (x$1: Any,x$2: <repeated...>[java.lang.String])java.util.List[net.sf.oval.ConstraintViolation]
[INFO] and method validate in class Validator of type (x$1: Any)java.util.List[net.sf.oval.ConstraintViolation]
[INFO] match argument types (AnyRef)
[INFO] this.validator.validate(toValidate)
これを明確にするにはどうすればよいですか?