Вопросы с тегом «generics»

Обобщения являются формой параметрического полиморфизма, встречающейся в ряде языков, включая языки .NET, Java, Swift и Rust.

10
Общий список - перемещение элемента в списке
Итак, у меня есть общий список, а также oldIndexи newIndexзначение. Я хочу переместить элемент в oldIndex, чтобы newIndex... как можно проще. Какие-либо предложения? Заметка Предмет должен находиться между предметами до(newIndex - 1) и newIndex до его удаления.
155 c#  .net  generics  list 

7
Как я могу добавить в список <? расширяет число> структур данных?
У меня есть список, который объявлен так: List&lt;? extends Number&gt; foo3 = new ArrayList&lt;Integer&gt;(); Я пытался добавить 3 к foo3. Однако я получаю сообщение об ошибке, подобное этому: The method add(capture#1-of ? extends Number) in the type List&lt;capture#1-of ? extends Number&gt; is not applicable for the arguments (ExtendsNumber)
155 java  generics 

5
Проблема типа Nullable с?: Условный оператор
Может кто-нибудь объяснить, почему это работает в C # .NET 2.0: Nullable&lt;DateTime&gt; foo; if (true) foo = null; else foo = new DateTime(0); ... но это не так: Nullable&lt;DateTime&gt; foo; foo = true ? null : new DateTime(0); Последняя форма дает мне ошибку компиляции: «Тип условного выражения не может быть …


8
Можно ли решить, что предупреждение компилятора «Общий массив T создан для параметра varargs»?
Это упрощенная версия рассматриваемого кода, один универсальный класс использует другой класс с параметрами универсального типа и должен передать один из универсальных типов в метод с параметрами varargs: class Assembler&lt;X, Y&gt; { void assemble(X container, Y... args) { ... } } class Component&lt;T&gt; { void useAssembler(T something) { Assembler&lt;String, T&gt; assembler …
153 java  generics 

3
C # - несколько универсальных типов в одном списке
Это, вероятно, не возможно, но у меня есть этот класс: public class Metadata&lt;DataType&gt; where DataType : struct { private DataType mDataType; } Это еще не все, но давайте будем простыми. Универсальный тип (DataType) ограничен типами значений оператором where. То, что я хочу сделать, это иметь список этих объектов метаданных различных …
153 c#  generics 

7
Java Enum определение
Мне показалось, что я достаточно хорошо понимаю дженерики Java, но потом я наткнулся на следующее в java.lang.Enum: class Enum&lt;E extends Enum&lt;E&gt;&gt; Может кто-нибудь объяснить, как интерпретировать этот параметр типа? Бонусные баллы за предоставление других примеров использования аналогичного параметра типа.
151 java  generics  enums  crtp 

3
Эквивалент Java Map в C #
Я пытаюсь сохранить список предметов в коллекции с ключом на мой выбор. В Java я бы просто использовал Map следующим образом: class Test { Map&lt;Integer,String&gt; entities; public String getEntity(Integer code) { return this.entities.get(code); } } Есть ли эквивалентный способ сделать это в C #? System.Collections.Generic.Hashsetне использует хэш, и я не …
150 c#  java  generics  collections 

12
Создайте новый объект из параметра типа в универсальном классе
Я пытаюсь создать новый объект параметра типа в моем универсальном классе. В моем классе у Viewменя есть 2 списка объектов универсального типа, переданных в качестве параметров типа, но когда я пытаюсь создать new TGridView(), TypeScript говорит: Не удалось найти символ TGridView Это код: module AppFW { // Represents a view …

7
Почему литералы перечисления Java не должны иметь параметров общего типа?
Перечисления Java великолепны. Как и дженерики. Конечно, мы все знаем ограничения последнего из-за стирания типа. Но есть одна вещь, которую я не понимаю: почему я не могу создать перечисление вот так: public enum MyEnum&lt;T&gt; { LITERAL1&lt;String&gt;, LITERAL2&lt;Integer&gt;, LITERAL3&lt;Object&gt;; } Этот параметр общего типа, &lt;T&gt;в свою очередь, может быть полезен в …
148 java  generics  enums 

4
Почему пример не компилируется, иначе как (со-, противо- и не-) дисперсия работает?
Исходя из этого вопроса , может кто-нибудь объяснить в Scala следующее: class Slot[+T] (var some: T) { // DOES NOT COMPILE // "COVARIANT parameter in CONTRAVARIANT position" } Я понимаю различие между +Tи Tв объявлении типа (оно компилируется, если я использую T). Но тогда как на самом деле написать класс, …

9
В чем разница между <? супер E> и <? расширяет E>?
В чем разница между &lt;? super E&gt;и &lt;? extends E&gt;? Например, когда вы смотрите на класс, java.util.concurrent.LinkedBlockingQueueесть следующая подпись для конструктора: public LinkedBlockingQueue(Collection&lt;? extends E&gt; c) и для одного для метода: public int drainTo(Collection&lt;? super E&gt; c)
147 java  generics 

18
Получить тип универсального параметра в Java с отражением
Можно ли получить тип универсального параметра? Пример: public final class Voodoo { public static void chill(List&lt;?&gt; aListWithTypeSpiderMan) { // Here I'd like to get the Class-Object 'SpiderMan' Class typeOfTheList = ???; } public static void main(String... args) { chill(new ArrayList&lt;SpiderMan&gt;()); } }

5
Как передать тип класса в качестве параметра функции
У меня есть общая функция, которая вызывает веб-сервис и сериализует ответ JSON обратно на объект. class func invokeService&lt;T&gt;(service: String, withParams params: Dictionary&lt;String, String&gt;, returningClass: AnyClass, completionHandler handler: ((T) -&gt; ())) { /* Construct the URL, call the service and parse the response */ } То, что я пытаюсь сделать, является …

5
Почему Java не допускает общие подклассы Throwable?
Согласно спецификации языка Java , 3-е издание: Это ошибка времени компиляции, если универсальный класс является прямым или косвенным подклассом Throwable. Я хочу понять, почему это решение было принято. Что не так с общими исключениями? (Насколько я знаю, дженерики - это просто синтаксический сахар во время компиляции, и они в Objectлюбом …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.