Вопросы с тегом 'generics'

Дженерики - это форма параметрического полиморфизма, встречающаяся на разных языках, включая языки.NET, Java и Swift.
19 отв.

Как сортировать список <T> по свойству в объекте

У меня есть класс под названием Order, который имеет такие свойства, как OrderId, OrderDate, Quantity и Total. У меня есть список этого класса Order: List<Order> objListOrder = new List<Order>(); GetOrderList(objListOrder); // fill list...
22 июля '10 в 16:13
23 отв.

Создать общий метод, ограничивающий T до Enum

Я создаю функцию для расширения концепции Enum.Parse, которая Позволяет анализировать значение по умолчанию, если значение Enum не найдено Нечувствителен к регистру Итак, я написал следующее: public static T GetEnumFromString<T>(string val...
17 сент. '08 в 4:56
29 отв.

Как создать общий массив в Java?

В связи с реализацией Java-дженериков вы не можете иметь такой код: public class GenSet<E> { private E a[]; public GenSet() { a = new E[INITIAL_ARRAY_LENGTH]; // error: generic array creation } } Как я могу реализовать э...
09 февр. '09 в 20:30
8 отв.

Как использовать отражение для вызова общего метода?

Какой лучший способ вызвать общий метод, когда параметр типа неизвестен во время компиляции, но вместо этого получается динамически во время выполнения? Рассмотрим следующий пример кода - внутри метода Example(), какой наиболее сжатый способ вызват...
24 окт. '08 в 8:17
17 отв.

Является ли List <Dog> подклассом List <Animal>? Почему Java-дженерики не являются неявно полиморфными?

Я немного озадачен тем, как дженерики Java обрабатывают наследование/полиморфизм. Предположим следующую иерархию - Животное (родитель) Собака - Кот (Дети) Предположим, у меня есть метод doSomething(List<Animal> animals). По всем правилам н...
30 апр. '10 в 17:39
13 отв.

Что такое PECS (продюсер продлевает потребительский супер)?

Я столкнулся с PECS (сокращенно для Producer extends и Consumer super) во время чтения на дженериках. Может кто-нибудь объяснить мне, как использовать PECS для устранения путаницы между extends и super?
27 апр. '10 в 20:16
15 отв.

Разница между <? супер T> и <? расширяет T> в Java

В чем разница между List<? super T> и List<? extends T>? Я использовал List<? extends T>, но он не позволяет добавлять к нему элементы list.add(e), тогда как List<? super T> делает.
03 дек. '10 в 9:57
15 отв.

Что такое сырой тип и почему мы не должны его использовать?

Вопросы: Что такое типы raw в Java, и почему я часто слышу, что они не должны использоваться в новом коде? Какая альтернатива, если мы не сможем использовать сырые типы и как это лучше?
05 мая '10 в 5:48
16 отв.

Как получить тип T от члена общего класса или метода?

Скажем, у меня есть общий элемент в классе или методе, поэтому: public class Foo<T> { public List<T> Bar { get; set; } public void Baz() { // get type of T } } Когда я создаю экземпляр класса, T становится ...
17 февр. '09 в 18:24
25 отв.

Создать экземпляр родового типа в Java?

Возможно ли создать экземпляр родового типа в Java? Я думаю, основываясь на том, что я видел, что ответ no (из-за стирания типа), но мне было бы интересно, если кто-нибудь увидит что-то, чего я не вижу: class SomeContainer<E> { E createCo...
16 сент. '08 в 21:04
27 отв.

Как клонировать общий список в С#?

У меня есть общий список объектов в С# и хочу клонировать список. Элементы в списке являются клонированными, но, похоже, не существует опции list.Clone(). Есть ли простой способ обойти это?
21 окт. '08 в 19:47
18 отв.

Список <T> или IList <T>

Может кто-нибудь объяснить мне, почему я хотел бы использовать IList over List в С#? Связанный с этим вопрос: Почему это плохо, чтобы разоблачить List<T>
30 дек. '09 в 15:18
11 отв.

Как я могу вернуть NULL из общего метода в С#?

У меня есть общий метод с этим (фиктивным) кодом (да, я знаю, что у IList есть предикаты, но мой код не использует IList, а какая-то другая коллекция, во всяком случае это не имеет значения для вопроса...) static T FindThing<T>(IList collectio...
19 нояб. '08 в 17:51
16 отв.

Как получить экземпляр класса дженериков типа T

У меня есть класс generics, Foo<T>. В методе Foo я хочу получить экземпляр класса типа T, но я просто не могу назвать T.class. Каков предпочтительный способ обойти его с помощью T.class?
09 авг. '10 в 9:58
24 отв.

Как мне адресовать непроверенные предупреждения о броске?

Eclipse дает мне предупреждение о следующей форме: Тип безопасности: снятый снимок с объекта на HashMap Это от вызова API, для которого у меня нет контроля над возвратом Object: HashMap<String, String> getItems(javax.servlet.http.HttpSessi...
04 февр. '09 в 0:57