Почему Android Studio импортирует полный пакет при переформатировании кода - PullRequest
5 голосов
/ 04 июля 2019

У меня есть класс, который использует HashMap, и я импортировал импорт java.util.HashMap.

При выполнении кода переформатирования -> используется ярлык Eclipse Cntrl + Shift + R

Он переформатирует и преобразует в импорт java.util. *

Почему Android Studio импортирует все классы, еслинам нужен только один, здесь HashMap?Разве это не нужно?

Ответы [ 2 ]

6 голосов
/ 04 июля 2019

Если какой-либо пакет имеет более N чисел импорта того же пакета в Android Studio, он автоматически преобразует его в * импорта для этот пакет (по умолчанию 5 для символов верхнего уровня и 3 для статики Java и членов Enum) .

Так, например, если у вас есть некоторое число N импорта из пакета java.util, оно преобразуется в java.util.*.

Где найти этот параметр, чтобы изменить его?

  1. Открыть настройки из Файл-> Настройки в Android Studio (ctrl + alt + s) .

  2. Перейдите в Редактор -> Стиль кода -> Java / Kotlin и откройте вкладку импорта , затем измените это N число на любой подходящий вам случай.

enter image description here

Также доступны и другие варианты.

2 голосов
/ 04 июля 2019

Из официальных документов Intellij Документация

Когда количество классов, которые IntelliJ IDEA импортировала из одного и того же пакета, достигает предела (по умолчанию 5), среда IDE изменяет операторы для импорта всего пакета вместо импорта нескольких отдельных классов из этого пакета.

Вы можете отключить эту функцию следующим образом.

  1. В диалоговом окне Настройки / Предпочтения (Ctrl+Alt+S) выберите Стиль кода | Java | Импорт .

  2. Убедитесь, что опция Использовать импорт одного класса включена.

  3. В подсчете классов для использования импорта с полями '*' и для использования статического импорта с полями '*' укажите значения, которые определенно превышают количество количество классов в пакете и количество имен в классе (например, 999 ).

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