您的位置:

Idea删除多余Import

一、Import的作用

我们在编写Java代码时,经常会用到Import来引入其他包内的类或接口。这个Import语句可以实现许多方便功能,包括:

  • 使用简单,避免在每个类中都加入类的全名
  • 避免类名冲突
  • 提高代码可读性和可维护性

二、Import的重要性

比如,一个类需要用到其他类的方法或属性,如果没有进行Import,我们可以通过使用完整的类包路径来访问静态方法或属性,比如:

java.util.Date date = new java.util.Date();

如果这个类中需要引用多个其他的类,就需要不断地重复编写类完整路径的代码,代码量大,可读性差。提高开发效率的一个做法就是使用Import能够帮助我们更方便地引入多个类,使得代码更加简洁明了。

三、Idea自动Import

Idea可以帮助我们自动完成Import的工作,使得我们的代码更加简洁明了。当我们输入一个类的简称时,Idea会自动判断该类需要哪个包的Import的语句并引入该语句。在这个过程中,Idea同时也会自动剔除多余的Import语句,尽可能减少Import语句的数量,提高代码的可读性。

假设我们需要使用Math类中的abs方法,我们可以在代码中输入

Math.abs(-1);

此时Idea检测到代码中需要使用java.lang.Math类,会自动加入Import语句并删除多余的Import:

import java.lang.Math;

public class Main {
    public static void main(String[] args) {
        Math.abs(-1);
    }
}

四、手动删除多余Import的方法

1. 手动删除单个Import

Idea默认情况下,在鼠标放在导入包上的时候,会出现个小红灯泡,鼠标右键点击红灯泡,选择Optimize Imports,即可删除多余的Import

手动优化Import代码:

import java.math.BigDecimal;

public class Demo {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("1");
        BigDecimal b = new BigDecimal("2");

        BigDecimal result = a.add(b);
        System.out.println(result);
    }
}

使用Idea自带Optimize Imports功能后的代码:

import java.math.BigDecimal;

public class Demo {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("1");
        BigDecimal b = new BigDecimal("2");

        BigDecimal result = a.add(b);
        System.out.println(result);
    }
}

可以看到,Idea帮我们删除了这个类中的单个import,使代码更加简洁。

2. 快捷键优化多个Import

我们还可以使用快捷键来优化多个代码文件中的Import语句,大大提高我们的编码效率。方法如下:

  • Windows用户:Ctrl + Alt + O
  • Mac用户:Option + Command + O

使用快捷键优化后的代码如下:

import java.math.BigDecimal;
import java.util.Date;

public class Demo {
    public static void main(String[] args) {
        BigDecimal a = new BigDecimal("1");
        BigDecimal b = new BigDecimal("2");

        BigDecimal result = a.add(b);
        System.out.println(result);

        System.out.println(new Date().toString());
    }
}

手动删除Import语句或使用Idea的自动删除功能,能够使得我们的代码更加简洁清爽,避免冲突和耗费多余的时间和精力。