Intellij выдвигает на первый план ошибку, но код может быть скомпилирован и работает правильно - PullRequest
0 голосов
/ 06 февраля 2020

Я встретил странную проблему в Intellij Ultimate 2019.3.2. Это указывает на ошибку типа Java generi c, например, «причина: не существует экземпляра (ов) переменных типа (типов), так что OCPerson соответствует IBaseObject», когда я интегрировал jar, который предоставляет метод generi c в мой текущий проект, но проект может быть скомпилирован без каких-либо ошибок или предупреждений в Oracle JDK 8. Более странно, когда я напрямую использую метод generi c в качестве исходного кода, Intellij больше не вызывает ошибку. Пожалуйста, смотрите подробную информацию ниже:

Сигнатура метода generi c выглядит следующим образом:

public static <T extends IBaseObject> void setEntityNameForMapObject(Map map, String key, Class<T> entityClass) 

Я собрал ее как одну библиотеку jar. Когда я использовал этот jar в проекте, Intellij указал следующую информацию об ошибке. На самом деле, Gradle может правильно скомпилировать проект, и никаких предупреждений нет. Кстати, Intellij использует JDK 1.8.0_152. Когда я копирую исходный код в текущий проект, указанное сообщение об ошибке исчезает в Intellij. Please see the error snapshot

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