Ошибка компиляции Android Studio: доступ к локальной переменной xxx из внутреннего класса; должен быть объявлен как окончательный тип

вопрос

Сегодня столкнулся с проблемой.После того, как мой код был скомпилирован локально, я отправил код.Мой коллега снял код и сообщил об ошибке компиляции: доступ к локальной переменной xxx из внутреннего класса, ее нужно объявить как окончательный тип . Что тут происходит?

анализировать

В соответствии с причиной запроса об ошибке обычно говорят, что java 1.8 не настроена в конфигурации build.gradle, поэтому локальные переменные, которые не объявлены как final, не могут использоваться во внутренних классах. Но я проверил свой файл build.gradle, конфигурации нет, и я не использовал окончательную модификацию, почему я могу ее скомпилировать?

причина

Наконец, я использовал метод контрольных переменных, чтобы найти причину.Градл версия моего коллеги и я разные.Я оптимизировал скорость компиляции локально. Поэтому версия gradle и плагин были обновлены и адаптированы. Когда я понизил градель до исходной версии, я также получил ошибку компиляции. Так что подозреваете, что более высокая версия gradle оптимизирует это?

Решение

  1. Добавить окончательную модификацию
  2. Настройте версию Java 1.8 или выше.
  3. Обновите Gradle до последней версии

おすすめ

転載: blog.csdn.net/Nbin_Newby/article/details/118734412