我知道该包java.lang
是由我们编写的每个Java程序自动导入的,因此包中的所有类对我们都是自动可用的。
我的问题是为什么也不要自动导入java.util
和其他软件包?那肯定会节省一些打字:)
因此,请解释为什么不这样做。
不自动导入过多的一个好理由是避免名称空间冲突。例如,如果其中的所有内容都是java.util
自动导入的,那么您想引用另一个名为“
Map”的类,则必须使用其完全限定的名称来引用它。
响应于该线程中的其他答案,import
实际上并未修改类文件的内部表示。实际上,这是描述类文件结构的JVM规范的链接:请注意,导入未存储在任何地方。
问题内容: 在下面的代码中,为什么我需要导入但可以不导入就可以使用? 问题答案: 为了方便起见,Java编译器会为每个源文件自动导入两个完整的软件包: java.lang包和 当前包(当前文件的包)。 请参考 oracle.com了解更多信息(http://docs.oracle.com/javase/tutorial/java/package/usepkgs.html)
c 17引入了结构化绑定。它们能够声明从元组或结构初始化的多个变量。 此代码使用编译器进行编译。 如果我没有用声明变量,我会得到错误 错误:lambda表达式[d2,i2]的预期主体=元组; 我使用了clang version 4.0.0和编译选项-std=c 1z。 我可以将现有变量分配给结构化绑定吗?我需要使用?
问题内容: 建议不要中使用。 可以分享原因,以便下次避免这样做吗? 问题答案: 因为它将很多东西放到你的命名空间中(可能会遮盖以前导入的其他对象,你对此一无所知)。 因为你不完全知道要导入的内容,而且不容易找到从哪个模块导入的特定内容(可读性)。 因为你不能使用像静态检测代码中的错误之类的出色工具。
我试图导入PyAudio,但它总是给我一个错误。如果我的电脑有问题,我使用的是Windows64x和Python3.9.4。以下是错误:
有这样一个应用程序结构,其中是根目录,“app”和“package1”是两个并行包: *注意:最后一个位于根目录“myapp”中 如何解决ImporDerror:尝试在没有已知父包的情况下进行相对导入 我想应用“解决方案1”,但不明白我应该把main.py放在哪里,它的内部代码是什么,或者相反,它可能是像这样的空文件
在Android Studio中有没有自动导入的方式(比如EclipseShift+Ctrl+O)? 我只找到要求每件事的Ctrl+Alt+O,我必须按Alt+Enter来接受它。 没办法做得更快?