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

280
Использование Mockito для моделирования классов с общими параметрами

Есть ли чистый метод насмешки над классом с общими параметрами? Скажем, я должен смоделировать класс, Foo<T>который мне нужно передать в метод, который ожидает Foo<Bar>. Я могу сделать следующее достаточно легко: Foo mockFoo = mock(Foo.class); when(mockFoo.getValue).thenReturn(new...

275
Что такое более высокий тип в Scala?

Вы можете найти следующее в Интернете: Тип с более высоким родом == Конструктор типа? class AClass[T]{...} // For example, class List[T] Некоторые говорят, что это тип с более высоким родом, потому что он абстрагируется от типов, которые будут соответствовать определению. Типы с более высоким родом...

273
По какой причине я не могу создавать универсальные типы массивов в Java?

Какова причина, почему Java не позволяет нам делать private T[] elements = new T[initialCapacity]; Я мог понять, что .NET не позволил нам сделать это, так как в .NET у вас есть типы значений, которые во время выполнения могут иметь разные размеры, но в Java все виды T будут ссылками на объекты,...

269
Collections.emptyList () возвращает список <Object>?

У меня возникли некоторые проблемы при навигации по правилу Java для определения параметров универсального типа. Рассмотрим следующий класс, который имеет необязательный параметр списка: import java.util.Collections; import java.util.List; public class Person { private String name; private...

261
Преобразовать общий список / перечисляемый в DataTable?

У меня есть несколько методов, которые возвращают разные общие списки. Существует ли в .net какой-либо статический метод класса или любой другой способ преобразования любого списка в таблицу данных? Единственное, что я могу себе представить, это использовать Reflection для этого. Если у меня есть...

251
Общий метод с несколькими ограничениями

У меня есть общий метод, который имеет два общих параметра. Я попытался скомпилировать код ниже, но он не работает. Это ограничение .NET? Можно ли иметь несколько ограничений для разных параметров? public TResponse Call<TResponse, TRequest>(TRequest request) where TRequest : MyClass,...

247
Как использовать Class <T> в Java?

В этом вопросе есть хорошее обсуждение дженериков и того, что они действительно делают за кулисами , поэтому мы все знаем, что Vector<int[]>это вектор целочисленных массивов и HashTable<String, Person>таблица, ключами которой являются строки и значения Persons. Однако, то, что пни меня,...

244
Доступ без учета регистра для универсального словаря

У меня есть приложение, которое использует управляемые DLL. Один из этих dll возвращает общий словарь: Dictionary<string, int> MyDictionary; Словарь содержит ключи с прописными и строчными буквами. С другой стороны, я получаю список потенциальных ключей (строка), однако я не могу...

238
Стирание типа дженериков Java: когда и что происходит?

Я читал об удалении типов Java на веб-сайте Oracle . Когда происходит стирание типа? Во время компиляции или во время выполнения? Когда класс загружается? Когда будет создан экземпляр класса? Многие сайты (включая упомянутое выше официальное руководство) говорят, что стирание типов происходит во...

236
Как передать параметры в Activator.CreateInstance <T> ()

Я хочу создать экземпляр типа, который я указываю в общем методе, который у меня есть. Этот тип имеет несколько перегруженных конструкторов. Я хотел бы иметь возможность передавать аргументы конструкторам, но Activator.CreateInstance<T>() не видит, чтобы иметь это в качестве опции. Есть ли...

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

У меня есть класс, который я хочу использовать для хранения «свойств» для другого класса. Эти свойства просто имеют имя и значение. В идеале я хотел бы иметь возможность добавлять типизированные свойства, чтобы возвращаемое «значение» всегда имело тот тип, который я хочу. Тип всегда должен быть...

230
Создать экземпляр универсального типа, для конструктора которого требуется параметр?

Если BaseFruitесть конструктор, который принимает int weight, могу ли я создать кусочек фрукта в общем методе, подобном этому? public void AddFruit<T>()where T: BaseFruit{ BaseFruit fruit = new T(weight); /*new Apple(150);*/ fruit.Enlist(fruitManager); } Пример добавлен за комментариями....

224
преобразовать список объектов из одного типа в другой с помощью лямбда-выражения

У меня есть цикл foreach, читающий список объектов одного типа и создающий список объектов другого типа. Мне сказали, что лямбда-выражение может достичь того же результата. var origList = List<OrigType>(); // assume populated var targetList = List<TargetType>(); foreach(OrigType a in...