为什么Android Studio在重新格式化代码时导入完整的软件包

时间:2019-07-04 05:30:31

标签: java android android-studio hashmap

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

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

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

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

2 个答案:

答案 0 :(得分:6)

如果在Android Studio中,任何软件包的相同软件包的导入数量超过 N个数字,它将自动将其转换为 * < / strong>对该软件包的导入(顶级符号的默认值为 5 ,Java静态和枚举成员的默认值为 3

>

因此,例如,如果您从软件包 java.util 中导入了N个商品,则该商品将转换为 java.util.* 。< / p>

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

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

  2. 转到编辑器->代码样式-> Java /科特林并打开导入标签,然后将 N号更改为任意合适的情况。

enter image description here

还有其他可用选项。

答案 1 :(得分:2)

来自Intellij官方documentation

  

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

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

  
      
  1. 设置/首选项对话框(Ctrl+Alt+S)中,选择代码样式| Java |导入

  2.   
  3. 确保已启用使用单个类导入选项。

  4.   
  5. 类别计数中将导入与'*'一起使用,以及名称计数中将静态导入与'*'一起使用,请指定绝对超出包中的类数和类中的名称数(例如, 999 )。

  6.