История изменений
Исправление
Legioner,
(текущая версия)
:
Как корутины в Котлине?
Цель похожая, но реализация совсем другая. Для программиста этим пользоваться будет гораздо проще.
Как заставить этот метод вернуть List<Map<String, Integer>>?
Не очень понял, зачем ты туда вообще передаёшь параметр cl. Но как минимум три способа:
List<Map<String, Integer>> l1 = getObject((Class<Map<String, Integer>>) (Class<?>) Map.class);
List<Map<String, Integer>> l2 = (List<Map<String, Integer>>) (List) getObject(Map.class);
<T> Class<T> castClass(Class<?> c) {
return (Class<T>) c;
}
List<Map<String, Integer>> l3 = getObject(castClass(Map.class));
Если скажешь, зачем тебе такой метод, можно попробовать по-другому сделать.
Версии зависимостей уже и так есть, но использовать более одной версии в одном classpath или modulepath невозможно. Ну разве что с костылями, как например выдумывать новое название пакеджа (как это правильно по-русски назвать?), как например это делают в некоторых библиотеках от Apache.
Я и говорю - я против того, чтобы превращать жаву в npm. Ибо тогда там, где сейчас 200 мегабайтов зависимостей, их будет 2 гигабайта. И запускаться простое приложение будет не 5 секунд, а 20 секунд, ибо все эти гигабайты класс-файлов надо будет открыть, прочитать с диска, распарсить, верифицировать.
Исправление
Legioner,
:
Как корутины в Котлине?
Цель похожая, но реализация совсем другая. Для программиста этим пользоваться будет гораздо проще.
Как заставить этот метод вернуть List<Map<String, Integer>>?
Не очень понял, зачем ты туда вообще передаёшь параметр cl. Но как минимум три способа:
[code] List<Map<String, Integer>> l1 = getObject((Class<Map<String, Integer>>) (Class<?>) Map.class); List<Map<String, Integer>> l2 = (List<Map<String, Integer>>) (List) getObject(Map.class);
<T> Class<T> castClass(Class<?> c) {
return (Class<T>) c;
}
List<Map<String, Integer>> l3 = getObject(castClass(Map.class));
[/code]
Если скажешь, зачем тебе такой метод, можно попробовать по-другому сделать.
Версии зависимостей уже и так есть, но использовать более одной версии в одном classpath или modulepath невозможно. Ну разве что с костылями, как например выдумывать новое название пакеджа (как это правильно по-русски назвать?), как например это делают в некоторых библиотеках от Apache.
Я и говорю - я против того, чтобы превращать жаву в npm. Ибо тогда там, где сейчас 200 мегабайтов зависимостей, их будет 2 гигабайта. И запускаться простое приложение будет не 5 секунд, а 20 секунд, ибо все эти гигабайты класс-файлов надо будет открыть, прочитать с диска, распарсить, верифицировать.
Исходная версия
Legioner,
:
Как корутины в Котлине?
Цель похожая, но реализация совсем другая. Для программиста этим пользоваться будет гораздо проще.
Как заставить этот метод вернуть List<Map<String, Integer>>?
Не очень понял, зачем ты туда вообще передаёшь параметр cl. Но как минимум три способа:
[code] List<Map<String, Integer>> l1 = getObject((Class<Map<String, Integer>>) (Class<?>) Map.class); List<Map<String, Integer>> l2 = (List<Map<String, Integer>>) (List) getObject(Map.class);
<T> Class<T> castClass(Class<?> c) {
return (Class<T>) c;
}
List<Map<String, Integer>> l3 = getObject(castClass(Map.class));
[/code]
Если скажешь, зачем тебе такой метод, можно попробовать по-другому сделать.
Версии зависимостей уже и так есть, но использовать более одной версии в одном classpath или modulepath невозможно. Ну разве что с костылями, как например выдумывать новое название пакеджа (как это правильно по-русски назвать?), как например это делают в некоторых библиотеках от Apache.
Я и говорю - я против того, чтобы превращать жаву в npm. Ибо тогда там, где сейчас 200 мегабайтов зависимостей, их будет 2 гигабайта.