SpringBoot日常:编码规范之import *

前言

日常开发中,我们在编码过程中会经常忽略import 包的问题,我们会使用import语句中的通配符*来引入整个包中的所有类。尽管这样做能够简化代码编写和阅读,但是过度使用import *也会带来一些坏处,本文将探讨这些问题并给出相应的解决方案。

问题剖析

在讨论import *的坏处之前,让我们先来看一下Java代码中的包引入机制。Java中使用import语句来告诉编译器我们希望在代码中使用其他包中的类。一般来说,我们可以使用以下两种方式来引入包中的类:

  • 显示引入:使用import语句引入特定的类,例如import java.util.Map;。
  • 通配符引入:使用import语句引入整个包中的所有类,例如import java.util.*;。

对于较小的项目来说,使用import *可能不会带来太大的问题。但是在大型项目中,使用import *可能导致以下几个问题:

1、命名冲突:当引入多个包时,可能会出现类名相同的情况,这时编译器将无法确定使用哪个类,从而导致编译错误。

2、可读性降低:通常情况下,我们会根据类的包名来判断其功能。但是使用import *后,编译器无法提供这样的信息,使得代码的可读性大大降低。

3、冗余引入:使用import *会导入整个包中的所有类,但是实际上我们可能只需要其中的几个类。这样就会导致代码中引入了很多不需要的类,增加了代码量。

4、编译时间延长:使用import *会导致编译器需要处理更多的类,从而增加了编译的时间。

解决

说了这么多,那我们要如何去尽可能规避这个问题呢?

一般来说我们是用工具或流程进行解决。

这里用idea作为说明,通过如下设置让 IDEA 不会在导入时添加*,这样设置其实并不是一定不会变成 import xxx.*,而是在同包类大于 999 个时才使用

相关推荐
月明长歌5 小时前
【码道初阶】Leetcode771 宝石与石头:Set 判成员 vs List 判成员(同题两种写法的差距)
java·数据结构·leetcode·list·哈希算法·散列表
xiaoyustudiowww5 小时前
Jakarta EE 12(JAVA EE12)平台包含规范版本
java·java-ee
wniuniu_5 小时前
ceph的参数
java·数据库·ceph
CoolerWu5 小时前
2025 · 我与 AI / Vibe Coding 的一年
前端·后端
不思念一个荒废的名字5 小时前
【黑马JavaWeb+AI知识梳理】Web后端开发06 - SpringBoot原理篇
spring boot·后端
AC赳赳老秦5 小时前
DeepSeek-Coder vs Copilot:嵌入式开发场景适配性对比实战
java·前端·后端·struts·mongodb·copilot·deepseek
Oxye5 小时前
服务器内存不足导致程序没完全起起来,报错Required type must not be null
java·开发语言
2501_916766545 小时前
【Java】static关键字与类的加载顺序
java·开发语言
invicinble5 小时前
Data Validation数据校验机制与内容
spring boot
9号达人5 小时前
支付配置时好时坏?异步方法里的对象引用坑
java·后端·面试