Скажем, у меня есть ArrayList, который я преобразовал в ArrayList объектов.Я знаю, что все объекты, которые были в приведенном мною ArrayList, были одного типа, но не такого типа.
Теперь, если ArrayList не пустой, я мог бы взять один из объектов в нем и использовать оператор instanceof, чтобы узнать, что является фактическим типом.Но что в случае, когда ArrayList пуст?Как мне определить, какой тип объекта на самом деле?Возможно ли это?
Редактировать: В ретроспективе, я полагаю, не имеет значения, какой тип содержит пустой ArrayList.Я могу отказаться от старого и создать новый пустой ArrayList соответствующего типа, который я искал в первую очередь.
Это немного грязно, поэтому, если у кого-то есть альтернативные предложения о том, как разрешить большое разнообразие потенциальных типов, которые могут не иметь общего общего суперкласса (например, Integer и ArrayList), я открыт для предложений.Дело в том, что у меня есть класс, который будет содержать другие классы, специально предназначенные для его взаимозаменяемости.Содержащиеся классы могут делать предположения относительно типа, так как именно они определяют его.Окружающий класс не может делать такие предположения, но должен подтвердить, что он указывает тот же тип, что и содержащиеся в нем классы.
Таким образом, мой вопрос, так как содержащий класс является универсальным (универсальным, определяющим, какой тип он обрабатывает), но он должен гарантировать, что содержащиеся в нем классы возвращаются и работают с типом, который был указан дляэто (они предназначены для отдельного создания, и поэтому тот факт, что они совпадают, должен быть подтвержден, когда они вставлены, а не во время их создания).