Java中多余的import语句有什么影响?

2024-02-20

冗余java有什么影响import声明?

它们会影响编译运行时(性能/大小)吗? 或者只是诸如智能感知之类的东西?

换个方式问: 删除它们有多重要?


导入语句仅影响编译期间发生的情况。

编译器获取这段代码,并创建一个.class以可执行格式(二进制形式)表示代码的文件。

最终,二进制文件是完全相同的,但它们的制作方法不同。

我们来看一个简单的案例:

import java.util.*;

vs

import java.util.ArrayList;
import java.util.List;

当用于:

//...
List <String> someList = new ArrayList <String> ();
//...

当编译器遇到这个词时List,在第一种情况下,需要弄清楚是否List是否存在于该类集合中。在第二种情况下,它已经明确给出了,所以它更容易。

本质上,发生的情况是编译器必须采用存在于import语句并跟踪它们的名称,这样,如果您使用它,编译器就可以检索您正在调用的相应函数。

有时,多个包中存在具有相同名称的类。在这种情况下(托马斯所指的),你不应该使用*选择目录中的所有类。

最佳实践是明确描述您的类的用法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java中多余的import语句有什么影响? 的相关文章

随机推荐

  • 为 Scala 枚举导出 Cats 顺序

    我想要一只普通的猫Order对于斯卡拉的Enumeration 我试过 implicit def enumOrder E lt Enumeration V lt E Value cats Order V new cats Order V d
  • 在discord.py中调用on_member_update时如何访问member?

    我正在尝试创建一个不和谐的机器人 一旦成员离线 不可见 该机器人就会为该成员添加特定的角色 这是我的代码 bot event async def on member update before after if str before sta
  • 如何防止用户关闭我的 C# 应用程序?

    如何用C 制作非封闭的应用程序 我想禁用表单的 X 按钮并防止 Windows 任务管理器关闭它 我知道防止表单关闭的一种方法是处理FormClosing事件 但如何防止任务管理器关闭它 不 无法阻止任务管理器关闭您的应用程序 任务管理器可
  • 在可可中处理来自 MIDIReadProc 的传入 MIDI 信号的最佳策略

    我必须移动一些NSSlider通过硬件MIDI控制器 我编写了一个MIDI学习程序来将硬件光标分配给NSSlider 的子类 上面就没有问题了 里面MIDIReadProc 我负责移动NSSlider这取决于传入的控制和值 但现在当我移动硬
  • 为了使其在共享主机上的中等信任下运行,需要避免在 ASP.NET 应用程序中进行编码的最常见、最典型的事情是什么?

    Medium Trust 阻止您做哪些事情 例如 我已经了解到 Medium Trust 会阻止您使用 System IO Path GetTempPath 还有哪些类似的事情 以下是如何了解和解决信任问题 1 在 Windows Micr
  • CLion 构建依赖目标

    我的 CLions CMakeLists txt 包含超过 1 个目标 库和依赖的可执行文件 如何配置一键构建所有目标 而不是一一选择目标并构建它们 例如 在 Visual Studio 中 我可以配置项目依赖项并构建所有解决方案 CLio
  • JQuery - 设置 TBODY

    我有一个表定义如下 table cellpadding 0 cellspacing 0 thead tr th Date th th First Name th th Last Name th tr thead tbody tbody ta
  • Webpack 2:无法解析模块

    我有一个这样的项目 root webpack config js app app js js dep js core module js 这是 webpack 配置文件 module exports entry app app js out
  • Nestjs 与 Plain Express 性能对比

    我刚刚测试了一个简单的 Nest 控制器的性能 该控制器在 get 请求上返回文本 无数据库 以及与 Express 相同的简单 GET 控制器 中间件 我使用WRK工具来测试性能 因此 plain express 的速度比 Nestjs
  • 如何修复 Microsoft Edge 中不显示的 Web 组件

    我正在尝试 lit element 在 Chrome 和 Firefox 等浏览器上一切都很顺利 但当我尝试 Microsoft Edge 和 IE11 时遇到了问题 在 Chrome 和 Firefox 中显示的 Web 组件在 Micr
  • 如何将犰狳矩阵转换为向量的向量?

    我创建了一个犰狳 C 矩阵 如下所示 arma mat A A zeros 3 4 我想将其转换为由定义的向量组成的向量 std vector lt std vector
  • 安装我的 nuget 包后执行操作

    我们创建了很多 NuGet 包 其中一个是一个工具 它包含一个特殊的编译器 它的安装就像一个dotnet tool 命令的名称是 PolyGen 我们使用了类似的机制Grpc Tools使用 这意味着我们已经在 NugetPackage 中
  • 让 vim 修改文件而不是移动新版本?

    我希望我的应用程序在保存文件时自动更新 因此 我使用inotify ubuntu 来创建检测事件的观察者 问题是vim覆盖文件而不是更新它 所以我的观察者在第一次更新后就丢失了 我想知道 有没有办法设置 vim 使其不使用交换文件并直接更新
  • 如何为asp.net web api编写集成测试

    我正忙着用 asp net web api 设计一个 web 服务 我想开始对每个控制器进行单元测试 到目前为止 这是我的测试课 TestClass public class MyDevicesControllerTest TestMeth
  • mpdf 忽略 javascript

    我在这里有一个问题 我已经使用缓冲来使用 mpdf 获取 pdf 文件 但我在这里有点困惑 我正在缓冲的页面上有一些 javascript 但是从 javascript 生成的内容没有转换为 pdf 让我说清楚 假设我有这个元素 div d
  • ios 访问主窗口或视图

    我想知道是否有一种简单的方法可以访问 IOS 中的主窗口或视图 类似于 UIScreen mainScreen 谢谢 Try UIWindow frontWindow UIApplication sharedApplication wind
  • 如何使用 1 个 mySQL 查询返回所有结果的数值箱线图数据?

    tbl votes id item id vote 当然 我们可以通过以下方式解决这个问题 the smallest observation so the lower quartile lq the median me the upper
  • 通过 Swift 设置 ARKit 方向

    我正在开发一个 ARKit 应用程序OpenGL 因此直接使用 ARKit 而不是使用 SceneKit 默认情况下 ARKit 设置为横向 但我无法找到任何旋转为纵向的文档或示例 SceneKit 示例适用于纵向 但Metal示例仅适用于
  • RPC 模型中的correlationId 和临时队列 - AMQP

    我正在读书RPC模型 http www rabbitmq com tutorials tutorial six java html在 AMQP 中使用 RabbitMQ 本教程创建了一个临时队列 并且还correlationId 临时队列是
  • Java中多余的import语句有什么影响?

    冗余java有什么影响import声明 它们会影响编译运行时 性能 大小 吗 或者只是诸如智能感知之类的东西 换个方式问 删除它们有多重要 导入语句仅影响编译期间发生的情况 编译器获取这段代码 并创建一个 class以可执行格式 二进制形式