Есть ли разница между List<Map<String, String>> и List<? extends Map<String, String>> ? Если нет разницы, в чем польза от использования ?
Есть ли разница между List<Map<String, String>> и List<? extends Map<String, String>> ? Если нет разницы, в чем польза от использования ?
HashMap<String, int>похоже, не работает, но HashMap<String, Integer>работает. Есть идеи,
Мне было интересно, в чем разница между следующими двумя объявлениями методов: public Object doSomething(Object obj) {....} public <T> T doSomething(T t) {....} Есть ли что-то, что вы можете сделать с одним, но не с другим? Я не мог найти этот вопрос где-либо еще на этом...
Я читал несколько примеров JMockit и нашел этот код: final List<OrderItem> actualItems = new ArrayList<~>(); Что означает тильда в универсальном идентификаторе? Я знаю, что это унарный побитовый оператор НЕ, но я не вижу здесь операнда. Также я попытался скомпилировать его и получил...
Почему этот код Swift не компилируется? protocol P { } struct S: P { } let arr:[P] = [ S() ] extension Array where Element : P { func test<T>() -> [T] { return [] } } let result : [S] = arr.test() Компилятор сообщает: «Тип Pне соответствует протоколу P» (или, в более поздних версиях Swift,...
Отказ от ответственности: я играл в Go всего один день, так что есть хороший шанс, что я многое пропустил. Кто-нибудь знает, почему в Go нет реальной поддержки generics / templates / whatsInAName? Итак, есть общий map, но он предоставляется компилятором, а программист на Go не может написать свою...
В некоторых интерфейсах, которые я написал, я хотел бы называть параметры универсального типа более чем одним символом, чтобы сделать код более читабельным. Что-то вроде.... Map<Key,Value> Вместо этого... Map<K,V> Но когда дело доходит до методов, параметры типа выглядят как...
Я знаю, как реализовать не общий IEnumerable, например: using System; using System.Collections; namespace ConsoleApplication33 { class Program { static void Main(string[] args) { MyObjects myObjects = new MyObjects(); myObjects[0] = new MyObject() { Foo = "Hello", Bar = 1 }; myObjects[1] = new...
Я пытаюсь создать словарь (на самом деле HashSet ) с ключом для настраиваемого протокола в Swift, но он дает мне ошибку в заголовке: Протокол myProtocol может использоваться только в качестве общего ограничения, поскольку он имеет требования типа Self или связанные с ним. и я не могу понять это....
Я читаю об общих методах из OracleDocGenericMethod . Меня очень смущает сравнение, когда в нем говорится, когда использовать подстановочные знаки, а когда - общие методы. Цитата из документа. interface Collection<E> { public boolean containsAll(Collection<?> c); public boolean...
Если я хочу использовать объекты в качестве ключей для a Dictionary, какие методы мне нужно будет переопределить, чтобы они сравнивались определенным образом? Скажем, у меня есть класс со свойствами: class Foo { public string Name { get; set; } public int FooID { get; set; } // elided } И я хочу...
Я не понимаю, какой тип коллекции я должен возвращать из моих общедоступных методов и свойств API. Я имею в виду коллекции IList, ICollectionи Collection. Всегда ли предпочтительнее возвращать один из этих типов по сравнению с другими или это зависит от конкретной...
Когда я пытаюсь использовать floatв качестве параметра шаблона, компилятор требует этого кода, пока intработает нормально. Это потому, что я не могу использовать floatв качестве параметра шаблона? #include<iostream> using namespace std; template <class T, T defaultValue> class...
Это вопрос синтаксиса. У меня есть общий класс, который наследуется от универсального базового класса и применяет ограничение к одному из параметров типа. Я также хочу, чтобы производный класс реализовал интерфейс. Да хоть убей, я не могу понять правильный синтаксис. Вот что у меня есть:...
Иногда я слышал, что с дженериками Java не справляется. (ближайшая ссылка здесь ) Простите за неопытность, но что могло бы сделать их
Из-за использования Generics в Java мне пришлось реализовать функцию с Voidвозвращаемым типом: public Void doSomething() { //... } и компилятор требует, чтобы я что-то вернул . Сейчас я просто возвращаюсь null, но мне интересно, хорошая ли это практика кодирования ... Я спрашиваю о V OID, а не v...
После неудачной попытки скомпилировать что-то вроде следующего: public class Gen<T> where T : System.Array { } с ошибкой Ограничение не может быть специальным классом System.Array. Я начал задаваться вопросом , что именно это «особый класс»? Кажется, что люди часто получают такую же ошибку,...
Приведу пример: У меня есть определение общего класса / интерфейса: interface IGenericCar< T > {...} У меня есть другой класс / интерфейс, который я хочу связать с классом выше, например: interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...} По сути, я...
Как правильно вернуть Voidтип, если он не является примитивом? Например. В настоящее время я использую null, как показано ниже. interface B<E>{ E method(); } class A implements B<Void>{ public Void method(){ // do something return null; }...
.NET предлагает общий контейнер списков, производительность которого практически идентична (см. Вопрос «Производительность массивов и списков»). Однако они совершенно разные по инициализации. Массивы очень легко инициализировать со значением по умолчанию, и по определению они уже имеют определенный...