Java导入类时为什么都不建议使用import xx.xx.*呢?

  • Post author:
  • Post category:java




Java导入类时为什么都不建议使用import xx.xx.*呢?

Java引用其他类共有两种方式:

  • 按类型引用 :就是import 到某个类的全路径。
  • 按需引用(不推荐):只import到某个类的包路径即可,如import java.util.*

按类型导入是已经确定了类型的,可以一次定位,而按需导入因为类是不确定的,就需要去查找定位。

注:两者不会存在性能问题,只是编译时较按类型慢一些(可忽略)。

import java.util.*;
import java.awt.*;

public class Test {

    private List tests;

    public static void main(String[] args) {
        System.out.println("测试");
    }
}

运行如上代码,发现报错。编译器即使找到 java.util.List匹配后不会停下搜索,而会继续寻找,找出所有的判断是否有类导入冲突。

java:List的引用不明确
  java.awt 中的类 java.awt.List 和 java.util 中的接口 java.util.List 都匹配

综上分析可得,我们在日常的开发时,导入其他类推荐按类型导入。

Intellij IDEA(2021.2)设置如下:路径File—>Settings—>Editor—>Code Style—>Java—>Imports。

图中两处我这里是设置的99,大家可以根据自己的喜好设置。这两处的意思是当同包下导入的类超过设置数量(99)时自动变成按需导入。
在这里插入图片描述



版权声明:本文为qq_44150902原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。