Запитання з тегом «generics»

Генеріки - це форма параметричного поліморфізму, що зустрічається в різних мовах, включаючи мови NET, Java, Swift та Rust.


18
Список <T> або IList <T> [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 7 місяців тому . Хтось може мені пояснити, чому я хотів би використовувати IList over List у C …
495 c#  list  generics 


26
Як видалити елементи із загального списку під час ітерації над ним?
Я шукаю кращу схему роботи зі списком елементів, які кожен потребує обробці, а потім залежно від результату видаляються зі списку. Ви не можете використовувати .Remove(element)всередині foreach (var element in X)(бо це призводить до Collection was modified; enumeration operation may not execute.виключенню) ... Ви також не можете використовувати for (int i …
451 c#  list  loops  generics  key-value 

7
Який сенс алмазного оператора (<>) у Java 7?
Діамантовий оператор java 7 дозволяє такий код: List&lt;String&gt; list = new LinkedList&lt;&gt;(); Однак на Java 5/6 я можу просто написати: List&lt;String&gt; list = new LinkedList(); Моє розуміння стирання типу - це те саме. (Узагальнений варіант все одно видаляється під час виконання). Навіщо взагалі турбуватися з діамантом? Які нові функціональні можливості …


9
Список <T> ПорядокВикори за алфавітом
Я використовую C # на Framework 3.5. Я прагну швидко сортувати загальний List&lt;T&gt;. Заради цього прикладу, скажімо, у мене є список Personтипу із властивістю прізвища. Як би я сортував цей Список за допомогою лямбдаського виразу? List&lt;Person&gt; people = PopulateList(); people.OrderBy(???? =&gt; ?????)
442 c#  generics  list  lambda  sorting 

13
Google Gson - дезаріалізувати список <class> об'єкта? (родовий тип)
Я хочу перенести об’єкт списку через Google Gson, але я не знаю, як дезаріалізувати загальні типи. Що я спробував, подивившись на це (відповідь BalusC): MyClass mc = new Gson().fromJson(result, new List&lt;MyClass&gt;(){}.getClass()); але тоді я отримую помилку у затемненні: "Введіть новий список () {} повинен реалізувати успадкований абстрактний метод ...", і …
441 java  json  generics  gson 

5
Можливе забруднення купи за допомогою параметра varargs
Я розумію, це відбувається з Java 7 під час використання варагрів із загальним типом; Але моє питання: Що саме означає Eclipse, коли йдеться про те, що "його використання може потенційно забруднити купу?" І Як нова @SafeVarargsанотація запобігає цьому?



14
Передача аргументів до C # generic new () шаблонного типу
Я намагаюся створити новий об’єкт типу T через його конструктор при додаванні до списку. Я отримую помилку компіляції: Повідомлення про помилку: 'T': не може надати аргументи під час створення екземпляра змінної Але мої класи мають аргумент конструктора! Як я можу змусити цю роботу? public static string GetAllItems&lt;T&gt;(...) where T : …

11
Які причини того, що Map.get (ключ об’єкта) не є (повністю) загальним
Які причини обумовлені рішенням не мати повністю загального методу отримання в інтерфейсі java.util.Map&lt;K, V&gt;. Для уточнення питання підпис методу є V get(Object key) замість V get(K key) і мені цікаво чому (те саме для remove, containsKey, containsValue).

2
Java Generics Wildcarding з кількома класами
Я хочу мати об’єкт Class, але я хочу змусити будь-який клас, який він представляє, розширити клас A та реалізувати інтерфейс B. Я можу зробити: Class&lt;? extends ClassA&gt; Або: Class&lt;? extends InterfaceB&gt; але я не можу робити обох. Чи є спосіб це зробити?

7
Метод має таке ж стирання, як і інший тип
Чому не можна законно мати наступні два методи в одному класі? class Test{ void add(Set&lt;Integer&gt; ii){} void add(Set&lt;String&gt; ss){} } Я розумію compilation error Метод add (Set) має те ж додавання стирання (Set), як і інший метод типу Test. хоча я можу обійти це, мені було цікаво, чому javac цього …
381 java  generics 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.