【问题标题】:Why Android Studio imports the complete package on Reformatting the code为什么 Android Studio 会在重新格式化代码时导入完整的包
【发布时间】:2019-11-14 19:08:48
【问题描述】:

我有一个使用 HashMap 的类并且我已经导入 导入 java.util.HashMap。

在执行重新格式化代码时 -> 使用 Cntrl+Shift+R 的 eclipse 快捷方式

它重新格式化并转换为 import java.util.*

如果我们只需要一个类,这里​​是 HashMap,为什么 android studio 会导入所有类?是不是没必要。

【问题讨论】:

  • 请注明android studio版本
  • 你能分享一下它导入了不必要的包的截图吗?我猜它不会自动导入。如果我们添加了不必要的包,它将显示灰色的文本。
  • @MayurSojitra 其 3.4.1

标签: java android android-studio hashmap


【解决方案1】:

如果任何包在 Android Studio 中对同一个包的导入次数超过 N 个,它会自动将其转换为 * 该包的导入(对于顶级符号默认为 5,对于 Java 静态和枚举成员默认为 3

因此,例如,如果您从包 java.util 导入了 N 次,它会被转换为 java.util.*

在哪里可以找到要更改的设置?

  1. 从 Android Studio 中的文件->设置打开设置(ctrl+alt+s)

  2. 转到 Editor -> Code Style -> Java/Kotlin 并打开 imports 选项卡,然后将 N number 更改为任意适合您的情况。

还有其他可用的选项。

【讨论】:

    【解决方案2】:

    来自 Intellij 官方documentation

    当 IntelliJ IDEA 从同一个包中导入的类数量达到限制(默认为 5 个)时,IDE 会修改语句以导入整个包,而不是从该包中导入多个单个类。

    您可以像下面这样禁用此功能。

    1. Settings/Preferences 对话框 (Ctrl+Alt+S) 中,选择 Code Style |爪哇 |进口

    2. 确保启用使用单一类导入选项。

    3. Class count to use import with '*' 和 Names count to use static import with '*' 字段中,指定绝对超过类数的值包中的名称和类中名称的数量(例如,999)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-30
      • 2023-03-14
      • 1970-01-01
      • 2020-05-14
      • 1970-01-01
      • 2022-07-18
      • 2017-05-16
      • 1970-01-01
      相关资源
      最近更新 更多