一、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的自动删除功能,能够使得我们的代码更加简洁清爽,避免冲突和耗费多余的时间和精力。