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

147
Почему пример не компилируется, иначе как (со-, противо- и не-) дисперсия работает?

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

147
В чем разница между <? супер E> и <? расширяет E>?

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

146
Почему Java не допускает общие подклассы Throwable?

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

146
Значение типа 'T' не может быть преобразовано в

Вероятно, это вопрос новичка, но на удивление Google не дал ответа. У меня есть этот довольно искусственный метод T HowToCast<T>(T t) { if (typeof(T) == typeof(string)) { T newT1 = "some text"; T newT2 = (string)t; } return t; } Исходя из опыта C ++, я ожидал, что это сработает. Тем не менее,...

144
Почему Java Collections не являются универсальными методами удаления?

Почему Collection.remove (Object o) не является универсальным? Похоже, Collection<E>мог иметьboolean remove(E o); Затем, когда вы случайно попытаетесь удалить (например) Set<String>вместо каждой отдельной строки из a Collection<String>, это будет ошибкой времени компиляции, а не...

144
Как работает ключевое слово reified в Kotlin?

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

142
Есть ли в Objective-C строго типизированные коллекции?

Я новичок в программировании Mac / iPhone и Objective-C. В C # и Java есть «дженерики», классы коллекций, члены которых могут быть только объявленного типа. Например, в C # Dictionary<int, MyCustomObject> могут содержать только ключи, которые являются целыми числами, и значениями типа...

139
Что означает <T> (угловые скобки) в Java?

В настоящее время я изучаю Java и недавно был озадачен угловыми скобками (<>). Что именно они имеют в виду? public class Pool<T>{ public interface PoolFactory<T>{ public T createObject(); } this.freeObjects = new ArrayList<T>(maxsize) } Что <T>значит? Значит ли это,...

139
Преобразование общего списка в строку CSV

У меня есть список целочисленных значений (List) и я хотел бы создать строку значений, разделенных запятыми. То есть все элементы в списке выводятся в один список через запятую. Мои мысли ... 1. Передай список методу. 2. Используйте stringbuilder для итерации списка и добавления запятых 3....

138
Преобразование строки в тип, допускающий значение NULL (int, double и т. Д.)

Я пытаюсь преобразовать данные. К сожалению, большая часть данных находится в строках, где они должны быть int или double и т. Д. Итак, у меня есть что-то вроде: double? amount = Convert.ToDouble(strAmount); Проблема с этим подходом заключается в том, что если strAmount пуст, если он пуст, я хочу,...

137
Использование протоколов в качестве типов массивов и параметров функций в swift

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

137
В чем разница между ? и объект в дженериках Java?

Я использую Eclipse, чтобы помочь мне очистить некоторый код для правильного использования обобщений Java. Большую часть времени он отлично справляется с выводом типов, но в некоторых случаях выводимый тип должен быть как можно более универсальным: Object. Но Eclipse, похоже, дает мне возможность...

136
Нет универсальной реализации OrderedDictionary?

Похоже, что в .NET 3.5 нет общей реализации OrderedDictionary(которая находится в System.Collections.Specializedпространстве имен). Я скучаю по одному? Я нашел реализации для обеспечения функциональности, но удивился, если / почему не существует универсальной реализации «из коробки», и если...

135
Mockito: методы заглушки, возвращающие тип с ограниченными подстановочными знаками

Рассмотрим этот код: public class DummyClass { public List<? extends Number> dummyMethod() { return new ArrayList<Integer>(); } } public class DummyClassTest { public void testMockitoWithGenerics() { DummyClass dummyClass = Mockito.mock(DummyClass.class); List<? extends Number>...

135
Java: Экземпляр и Обобщения

Прежде, чем я просматриваю свою общую структуру данных для индекса значения, я хотел бы видеть, параметризован ли он даже экземпляру типа this. Но Затмение жалуется, когда я делаю это: @Override public int indexOf(Object arg0) { if (!(arg0 instanceof E)) { return -1; } Это сообщение об ошибке:...

134
Привести объект к универсальному типу для возврата

Есть ли способ привести объект к возврату значения метода? Я пробовал этот способ, но он дал исключение времени компиляции в части "instanceof": public static <T> T convertInstanceOfObject(Object o) { if (o instanceof T) { return (T) o; } else { return null; } } Я тоже пробовал это, но он дал...