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

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

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

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

5
Aada 4 Июл 2019 в 08:30

2 ответа

Лучший ответ

Если какой-либо пакет имеет более чем 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

Есть и другие доступные варианты.

6
Jeel Vankhede 4 Июл 2019 в 05:54

Из официальной документации Intellij.

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

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

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

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

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

2
galcyurio 4 Июл 2019 в 05:47