Поскольку вы будете использовать эти списки массивов в качестве объектов параметров, вы можете определить свои собственные пользовательские объекты, которые наследуются от Arraylist.Таким образом, компилятор распознает вашу перегрузку как имеющую отличительные подписи.
Конечно, это означает, что любой клиентский код должен будет знать, какой подтип должен быть передан.Но это должно быть относительно простой проблемой, потому что, если вы знаете, что вы передаете целые значения объекта параметра, то инициализируйте integerParamList.Аналогично для пар.
Не зная немного больше об остальной части вашего кода, это может или не может быть подходящим решением, но оно может быть близко?(Я не смог проверить это, поэтому могут быть неизвестные проблемы ...)
public class mySortingClass {
public void quickSortMethod(IntegerParamList comparison, int start, int end)
{}
public void quickSortMethod(DoubleParameterList comparison, int start, int end)
{}
}
public class IntegerParamList extends ArrayList<Integer>
{}
public class DoubleParameterList extends ArrayList<Integer>
{}