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

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


7
Що саме "Спеціальний клас"?
Після того як не вдалося скласти щось на зразок наступного: public class Gen<T> where T : System.Array { } з помилкою Обмеженням не може бути спеціальний клас `System.Array ' Я почав цікавитись, що саме таке «особливий клас»? Люди, здається, часто отримують однакові помилки, коли вони вказують System.Enumна загальне обмеження. Я …

5
повернення об'єкта Void
Який правильний спосіб повернути Voidтип, коли він не примітив? Напр. Зараз я використовую null, як показано нижче. interface B<E>{ E method(); } class A implements B<Void>{ public Void method(){ // do something return null; } }

2
C # generic "де обмеження" з визначенням "будь-якого загального типу"?
Наведу приклад: У мене є загальне визначення класу / інтерфейсу: interface IGenericCar< T > {...} У мене є ще один клас / інтерфейс, який я хочу пов'язати з класом вище, наприклад: interface IGarrage< TCar > : where TCar: IGenericCar< (**any type here**) > {...} В принципі, я хочу , щоб …

2
Java не відмічена: неперевірене створення загального масиву для параметра varargs
Я встановив Netbeans відображати неперевірені попередження в моєму коді Java, але я не можу зрозуміти помилку в наступних рядках: private List<String> cocNumbers; private List<String> vatNumbers; private List<String> ibans; private List<String> banks; ... List<List<String>> combinations = Utils.createCombinations(cocNumbers, vatNumbers, ibans); Дає: [unchecked] unchecked generic array creation for varargs parameter of type List<String>[] …

4
Лямбда-експресія та родовий метод
Припустимо, у мене є загальний інтерфейс: interface MyComparable<T extends Comparable<T>> { public int compare(T obj1, T obj2); } І метод sort: public static <T extends Comparable<T>> void sort(List<T> list, MyComparable<T> comp) { // sort the list } Я можу викликати цей метод і передавати лямбда-вираз як аргумент: List<String> list = …
111 java  generics  lambda  java-8 

7
C # загальне обмеження типу для всього зведеного нанівець
Отже, у мене є цей клас: public class Foo<T> where T : ??? { private T item; public bool IsNull() { return item == null; } } Тепер я шукаю обмеження типу, яке дозволяє мені використовувати все як параметр типу, який може бути null. Це означає, що всі типи посилань, …
111 c#  generics  nullable 

14
Як ініціалізувати Список <T> до заданого розміру (на відміну від ємності)?
.NET пропонує контейнер із загальним списком, продуктивність якого майже однакова (див. Питання Performance of Arrays vs. Lists). Однак при ініціалізації вони досить різні. Масиви дуже легко ініціалізувати зі значенням за замовчуванням, і за визначенням вони вже мають певний розмір: string[] Ar = new string[10]; Що дозволяє безпечно призначити випадкові предмети, …

1
Яка різниця між "&" та "," у дженеріках Java?
Читаючи офіційний підручник Java щодо дженериків, я виявив, що ви можете обмежити аргумент типу (в даному випадку - T) розширити клас та / або більше інтерфейсів з оператором 'і' ( &amp;) таким чином: &lt;T extends MyClass &amp; Serializable&gt; Я замінив &amp;з ,(помилково і по- , як і раніше працює, з …
110 java  generics 

6
Java-дженерики (макіяж)
У мене є кілька запитань щодо загальних підстановок на Яві: Яка різниця між List&lt;? extends T&gt;іList&lt;? super T&gt; ? Що таке обмежений підстановочний код і що таке необмежений підстановочний знак?


5
Котлін: Як працювати зі списками: Неперевірена ролях: kotlin.collections.List <Kotlin.Any?> До kotlin.colletions.List <Waypoint>
Я хочу написати функцію, яка повертає кожен елемент у a, Listякий не є першим чи останнім елементом (a via point). Функція отримує загальну List&lt;*&gt;як вхід. Результат повинен бути повернутий лише тоді, коли елементи списку мають такий тип Waypoint: fun getViaPoints(list: List&lt;*&gt;): List&lt;Waypoint&gt;? { list.forEach { if(it !is Waypoint ) return …
108 list  generics  casting  kotlin 

8
Java Class.cast () проти операторів лиття
Навчившись протягом моїх днів C ++ про злини оператора лиття в стилі C, я спочатку був радий виявити, що в Java 5 java.lang.Classпридбали castметод. Я подумав, що, нарешті, у нас є спосіб OO, що стосується кастингу. Виходить Class.castне те саме, що static_castв C ++. Це більше схоже reinterpret_cast. Він не …

3
Джексон і загальний довідник про тип
Я хочу використовувати бібліотеку Джексона json для загального методу наступним чином: public MyRequest&lt;T&gt; tester() { TypeReference&lt;MyWrapper&lt;T&gt;&gt; typeRef = new TypeReference&lt;MyWrapper&lt;T&gt;&gt;(); MyWrapper&lt;T&gt; requestWrapper = (MyWrapper&lt;T&gt;) JsonConverter.fromJson(jsonRequest, typeRef); return requestWrapper.getRequest(); } ... public class MyWrapper&lt;T&gt; { private MyRequest&lt;T&gt; request; public MyRequest&lt;T&gt; getRequest() { return request; } public void setRequest(MyRequest&lt;T&gt; request) { this.request …
107 java  json  generics  jackson 

8
Виклик статичного методу за загальним параметром типу
Я сподівався зробити щось подібне, але це здається незаконним у C #: public Collection MethodThatFetchesSomething&lt;T&gt;() where T : SomeBaseClass { return T.StaticMethodOnSomeBaseClassThatReturnsCollection(); } Я отримую помилку часу компіляції: "T" - це "параметр типу", який не є дійсним у заданому контексті. " З огляду на параметр загального типу, як я можу …
107 c#  generics 

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