рискуя стать деревенским идиотом, может кто-нибудь объяснить мне, почему дженерики называются дженериками? Я понимаю их использование и преимущества, но если определение родового является "общим", а общие коллекции безопасны по типу, то почему это не так? неправильно?
Например, ArrayList может содержать все, что объект:
ArrayList myObjects = new ArrayList();
myObjects.Add("one");
myObjects.Add(1);
в то время как общий набор строк типа может содержать только строки:
var myStrings = new List<string>();
myStrings.Add("one");
myStrings.Add("1");
Я просто не понимаю, почему он называется "generic". Если ответ "... который позволяет создавать классы и методы, которые откладывают спецификацию одного или нескольких типов до тех пор, пока класс или метод не будет объявлен и не будет создан кодом клиента". от здесь, то я полагаю, что это имеет смысл. Возможно, у меня есть это умственное отставание, потому что я начал программировать только после того, как Java представила дженерики, поэтому я не помню времени до них. Но все же...
Любая помощь приветствуется.