У меня похожая проблема, которую я пытаюсь решить.
Я обнаружил две ситуации, когда я знаю, что это происходит, и нашел способ обойти одну из них.
Сценарий1) Ваш класс относится к классу на пути к классам дальше по цепочке, чем тот, который также найден в банке, однако в операторе импорта оператор импорта имеет вид
import com.company.classes.to.use.*
Путем их увеличения,Кажется, IDE собирает все классы в этом пакете из одной и той же папки.Разбивая их на отдельные операторы класса импорта, IDE будет подбирать их по отдельности.
Сценарий 2) Вы классифицируете методы последовательного подключения для переопределенного класса.
something.getSomethingElse().getAnotherThing().getYetAnotherThing();
, если getSomethingElse () возвращаетобъект, которого нет в классе (поэтому вам не нужно его импортировать), тогда вы все равно получите ошибку.(При добавлении импорта строка становится серой, поскольку она распознает, что она не используется, поэтому это не помогает).В любом случае, я бы не потворствовал этому методу.
edit: Очевидной альтернативой этому является рефакторинг кода, чтобы разбить строку на
ObjectToImport obj = something.getSomethingElse();
result = obj.getAnotherThing.getYetAnotherThing();
и затем импортировать переменную temp ...
Очевидно, что это не идеально, и вы не должны реорганизовывать свой код ради вашей IDE, но это необходимо, эти красные линии чертовски меня раздражают.
Надеюсь, это поможет.Если вы нашли лучшее решение, пожалуйста, поделитесь!
С уважением, M