Если у меня есть метод, как это (для простоты предположим, целые числа):Как вернуть правильный тип списка?
public static List<Integer> doSomething(List<Integer> list) {
// logic here
}
и мне нужно для моей обработки, чтобы создать внутри в новый список который я буду создавать и каким-то образом заполнить и вернуться к абоненту, как я могу это сделать, так как я не знаю, какой тип списка передал вызывающий?
Я не хочу возвращать List
различного типа, что вызывающий абонент перешел в.
Э.Г. Если вызывающий абонент прошел LinkedList
и I не хотите вернуть ArrayList
.
Как можно подойти к этой проблеме?
Почему именно вам нужно вернуть что-то подобное? Не будут ли люди называть это чем-то вроде 'ArrayList a = doSomething (a);' и в этом случае он будет автоматически запущен? –
kba
Зачем им называть его «ArrayList a ='? Другие друзья, которые ответили уже, жаловались/указали, что не должно быть 'ArrayList', плавающих где-нибудь (т. Е. Использование интерфейсов) – Cratylus
@KristianAntonsen Это не имеет смысла ; если я перейду в «LinkedList», я не могу случайным образом применить возвращаемое значение к произвольной реализации и ожидать, что он будет работать. –