В приведенном ниже классе я получаю ошибку компиляции с Java 8 из-за неоднозначного вызова this()
. Тем не менее, с Java 6 этот класс скомпилирован.
Я знаю, что могу реорганизовать это с помощью методов factory и т.д., Но для реального класса, где возникает проблема, я бы предпочел поддерживать текущий API на данный момент.
Может ли кто-нибудь подумать о способе устранения двусмысленности без изменения внешнего API?
public class Vararg8 {
public Vararg8(final Object... os) {}
public Vararg8(final boolean b,
final String s,
final int... is) {}
public Vararg8() {
this(true, "test", 4, 5, 6);
}
}