Ложная позитивная ошибка в IntelliJ «Foreach не применим к типу 'java.util.list <aig_proxy_service.routes.route>'» послеJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ложная позитивная ошибка в IntelliJ «Foreach не применим к типу 'java.util.list <aig_proxy_service.routes.route>'» после

Сообщение Anonymous »

Недавно я обновил свой Spring Boot Project до Java 21. Bootrun все еще работает, и все тесты проходят. Однако в IntelliJ в этом месте все еще отображается ошибка: < /p>

Код: Выделить всё

        List auth = routeProperties.getAuth();
for (Route authRoute : auth) {
addAuthRoute(authRoute);
}
это отмечает Auth в For-Ploop как ошибку, говоря:

Код: Выделить всё

Foreach not applicable to type 'java.util.List'
Для справки, вот как выглядит метод getauth () , если это может быть важно:

Код: Выделить всё

@Component
@ConfigurationProperties(prefix = "routes")
public class RouteProperties {
@Setter
private List auth;

public List getAuth() {
if (auth == null) {
auth = new ArrayList();
}
return auth;
}
}
< /code>
Поскольку код все еще работает, а тесты все еще проходят, я предполагаю, что это ложный положительный на сторону Intellij. Поэтому я попробовал все, что могу подумать, чтобы избавиться от этого. Вещи, которые я пробовал: < /p>

 Gradle Clean & Gradle Build < /li>
 Удаление папки .idea < /li>
 Удаление сборки сборки < /li>
 File> Invalidate Mashes ...> Использование и Restart < /li>
 file> INSALIDATE ...> Использование и вернуть < /li>
. Оба:


java {
toolchain {
languageVersion = JavaLanguageVersion.of(21)
}
}
< /code>
< /li>

java {
sourceCompatibility = 21
targetCompatibility = 21
}
< /code>
< /li>
< /ul>
< /li>
< /ul>
Однако ложно -позитивность сохраняется в любом случае. Findings
I found that if I open the List.java source file in IntelliJ, for some strange reason, it says that it can't resolve SequencedCollection
, from which it inherits from, which would at least explain the behavior, because SequencedCollection inherits from Collection, which inherits from Iterable, which has the forEach method. SeceedcenceCollection не отображается во внешних сорнях IntelliJ, хотя Collection и итерационные . Я также смог подтвердить, что SequenceCollection присутствует в исходных файлах самого JDK, просто похоже, что IntelliJ пропустил это. Но я понятия не имею, почему.

Подробнее здесь: https://stackoverflow.com/questions/795 ... -util-list
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»