Что такое гетерогенный объект в Java?

Когда я использую любую коллекцию универсального типа с Object класс, и я храню различные объекты в этой коллекции в этой ситуации.

Можно ли сказать, что коллекция содержит гетерогенные объекты или нет?

2 ответа

Решение

Я слышал этот термин только один раз, когда гетерогенный объект ссылался на гетерогенную коллекцию, коллекцию, которая может хранить объекты разных типов.

Гетерогенная коллекция может быть Object[] массив или List<Object> список. Мы редко используем их (их объявления слишком общие - "коллекция всего" указывает на проблемы проектирования), но ясно, что они могут содержать экземпляры разных типов (например, Integer а также String).

"гомо-" означает одно и то же, "гетеро-" означает разные.

В любом случае, если один массив Java может хранить только один тип, скажем, только числа или только строки, тогда он однороден.

Если несколько типов, то неоднородны. В приведенном выше случае, поскольку коллекция имеет тип объекта и может содержать любой тип

Давайте возьмем Javascript, чтобы лучше понять это, например. массивы неоднородны, потому что я могу создать массив, содержащий [5, "hello", new Object()], а в Java это невозможно.

Я не думаю, что гетерогенные объекты - это часто используемый термин, который имеет четкое и четко определенное значение.

Таким образом, ваше определение, которое гласит: объекты разных классов неоднородны, это хорошо.

(Проблема возникает позже, когда вы предполагаете, что другие люди разделяют это же понимание, и это не обязательно верно)

Другие вопросы по тегам