В Groovy, почему и как работает назначение ArrayList в переменную HashMap? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть следующий код в Groovy, который не поддается моей логике:

HashMap<Integer,NLevelDynamicAlias> nLevelAliases = new ArrayList<>();

На самом деле это была опечатка.Но код работает нормально, я никогда не осознавал этого, пока не скопировал код в метод Java.

Как Groovy позволяет этому работать?Это часть поддерживаемого принуждения?

1 Ответ

0 голосов
/ 22 ноября 2018

groovy "magic"))

попробуйте этот код:

HashMap<Integer,String> nLevelAliases = [1,2,3];

, и вы получите ошибку:

..из-за: groovy.lang.GroovyRuntimeException: Не удалось найти соответствующий конструктор для: java.util.HashMap (java.lang.Integer, java.lang.Integer, java.lang.Integer)

означает, что groovy пытается найти конструктор для типа слева с параметрами, указанными в ArrayList справа

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...