generics- все статьи тега ➜ страница 4


Можно ли использовать универсальный тип универсального метода Java для принудительного применения типа аргументов?

Я хотел бы использовать универсальный тип, чтобы убедиться, что аргументы метода имеют один и тот же тип, например: public static <T> void x(T a, T b) Я бы предположил, что два аргумента (a и b), которые передаются этому методу, всегда должны быть одного и того же типа. Но к моему удивлению я смог передать аргументы любого типа (даже примитивы) в метод x, как будто T стирается в объект, независимо от того, какие аргументы передаются. единственная работа вокруг я нашел до сих пор, чтобы ...

Как использовать typetoken + дженерики с Gson в Котлине

Я не могу получить список универсального типа из пользовательского класса (по очереди): val turnsType = TypeToken<List<Turns>>() {}.type val turns = Gson().fromJson(pref.turns, turnsType) Он сказал: cannot access '<init>' it is 'public /*package*/' in 'TypeToken' ...

Синтаксис и пример использования Generic в C11

Я слышал, что C11 добавил дженерики. Я погуглил немного, посмотрел на некоторые статьи, понял, что есть новое ключевое слово (_Generic ) и все. Но я не могу понять всего этого. Это что-то вроде дженериков в C# или шаблонов в C++? Может ли кто-нибудь дать мне краткое объяснение определения C11 дженериков, его синтаксиса и простого примера использования? ...

Почему неявное преобразование оператора от принять?

это странное поведение, которое я не могу осмыслить. В моем примере у меня есть класс Sample<T> и неявный оператор преобразования из T до Sample<T>. private class Sample<T> { public readonly T Value; public Sample(T value) { Value = value; } public static implicit operator Sample<T>(T value) => new Sample<T>(value); } проблема возникает при использовании типа значения nullable для T например int?. { int? a = 3; Sample<int> ...

Фильтрация значений из универсального словаря C#

у меня есть словарь C#,Dictionary<Guid, MyObject> что я должен быть отфильтрован на основе свойства MyObject. например, я хочу удалить все записи из словаря, где MyObject.BooleanProperty = false. Каков наилучший способ достичь этого? ...

Java Generics-метод моста?

что-то под названием "Метод моста" концепция, связанная с Java Generics заставил меня остановиться в точке и подумать над этим. кстати, я знаю только, что это происходит в байт-код уровня и не доступен для нас, чтобы использовать. но я очень хочу знать концепцию "метода моста", используемого компилятором Java. Что именно происходит за кулисами и почему он используется? помощь с примером будет очень признателен. ...

Есть ли общая задача.WaitAll?

Я запустить несколько параллельных задач, как это: var tasks = Enumerable.Range(1, 500) .Select(i => Task.Factory.StartNew<int>(ProduceSomeMagicIntValue)) .ToArray(); и затем присоединиться к ним с Task.WaitAll(tasks); на этой последней строке я получаю синий волнистый маркер под tasks, с предупреждением: Co-variant array conversion from Task[] to Task[] can cause run-time exception on write operation. Я понимаю, почему я получаю это сообщение, но есть способ обойти ...

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

предупреждение: Я хотел бы передать класс с параметром типа (например,ArrayList<SomeClass>, например) к универсальному методу в качестве параметра типа. допустим, у меня есть метод: public static <T> T getGenericObjectFromJson(String json, Class<T> genericType){ // details unimportant, basically returns an object of specified type return JsonParser.fromJson(json, genericType); } этот метод, конечно, будет отлично работать и для любого класса. Я могу ...