Я довольно хорошо знаком с дженериками в C#, но в Java все совсем по-другому. история.
Я использовал несколько примеров, которые отлично работали для тестирования, и я могу прекрасно реплицировать большую часть своего кода C# на Java.
Однако, когда я попробовал следующий пример, он не сработал:
Код: Выделить всё
private static void swapKundeData(ArrayList data, int index1, int index2) {
T temporary = (T) data.get(index1);
data.set(index1, data.get(index2)); //Does not compile
data.set(index2, temporary); //Does not compile
}
Метод set(int, capture#5- of ? расширяет ExtendTest) в типе ArrayList неприменимо для аргументов (int, ExtendTest)
Эквивалент этого прекрасно работает в C#, поэтому что происходит?
Я читал, что Java подвергается большой критике, когда дело касается дженериков. Это часть критики? Метод Remove и Add переменной data работает нормально.
Подробнее здесь: https://stackoverflow.com/questions/486 ... oesnt-work
Мобильная версия