В раздел 15.12.2.5 Спецификации языка Java, в нем говорится о том, как выбрать наиболее конкретный метод в обоих случаях методов с фиксированная арность и методы переменной arity (т.е.  varargs).
То, что я не могу найти в JLS, - это что-то о том, чтобы решить два метода, когда один из них имеет фиксированную arity и один из переменных arity. Например:
public interface SomeApi {
    public String getSomething(String arg);       // method 1
    public String getSomething(String ... args);  // method 2
}
Компилируется так же хорошо, как и следовало ожидать (по причинам, изложенным Йони ниже). Этот код вызова также компилируется:
SomeApi api = ...
Object o = api.getSomething("Hello");
 и если вы запустите его, вызывается method #1 (т.е. метод без varargs). Почему этот код не является двусмысленным? Почему метод фиксированной arity более конкретный, чем переменная? Может ли кто-нибудь указать мне на соответствующий бит спецификации?
