java - 添加默认包导入

标签 java scala jvm-languages

在 Java、Scala 或一般的任何 JVM 语言中,有一组默认导入的包。例如,Java 会自动导入 java.lang,您无需在 Java 代码文件中执行此操作。

现在我不知道哪个组件负责这个(编译器?JVM?),但是有什么方法可以默认导入额外的包甚至类吗?

假设您有一个包,定义了您在整个项目中使用的一组实用函数(示例可以是 Scala 中的 scala.math),如果您能够跳过导入,那就太好了在每个与数学相关的类(class)中。

最佳答案

从 2.8 开始,Scala 具有包对象,其内容会自动导入到包的每个文件中。在包的顶层目录(例如,x/y/z/mypackage)创建一个名为 package.scala 的文件,并将其放入

package x.y.z

package object mypackage {
  ...
}

然后包对象中的任何定义都会自动导入(即不需要导入语句)到包 x.y.z.mypackage 中的任何文件

您可以查看 Scala 源代码——执行 find dir -name package.scala——有很多源代码,最顶层定义了 scala 包本身的隐式导入,它会自动导入到每个scala 源文件。

关于java - 添加默认包导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5026284/

相关文章:

java - java中可变参数的最大参数数量是多少?

java - 如何从 Java 类中的函数访问主类对象?

scala - 在 Akka Stream - Scala 中抛出异常的最佳实践是什么?

java - "INSTALL_PARSE_FAILED_MANIFEST_MALFORMED"在Android Studio中运行项目时出错

java - 如何使用 boolean 搜索语法进行 Java 字符串匹配?

validation - Scala 2.10 中验证和扩展构造函数参数的最佳方法

java - Java SE平台上XML解析API的比较

performance - Kotlin:避免创建FqNameUnsafe和FqName

java - 获得有关每个抛出的异常(甚至已处理的异常)的通知

java - 如何重构内部类MouseAdapter?