【问题标题】:Upsides and downsides of importing specifically and importing overally专门进口和整体进口的优缺点
【发布时间】:2011-06-21 06:27:33
【问题描述】:

我注意到人们更喜欢导入 javax.swing.JFrame 而不是 javax.swing.* ,导入 java.math.BigInteger 而不是 java.math.* 等等...导入整个包而不是专门导入有什么缺点还是有任何优点专门进口?

【问题讨论】:

    标签: java


    【解决方案1】:

    嗯,我读到的关于包导入的一点是,如果稍后将类添加到包中导致歧义,它们会导致问题。就像 jdk 1.1 在 java.awt 包中只包含一个 List 类一样,jdk1.2 在 java.util 包中引入了另一个 List 类。

    【讨论】:

    • +1 这是重点。它可以破坏现有的代码。你更新你的JDK,尝试编译/构建你的项目并因此得到大量错误。当然,这可能相对不太可能,但就像您的示例所示,这实际上是一个真正的问题。
    【解决方案2】:

    通常首选单个类导入,因为它们可以很容易地确定导入了哪个类。使用现代 IDE,这非常容易。所以它通常被认为是一种很好的风格。包导入和单类导入没有区别。

    【讨论】:

      【解决方案3】:

      什么都没有。 import 语句是编译器指令,对编译后的代码没有影响。您可以进一步阅读 herehere(您可能会找到更好的资源,但那是 1 分钟的 Google 练习)。


      这似乎也是 this question 的副本。

      【讨论】:

        【解决方案4】:

        当您执行通配符导入时,您可能会注意到编译时间较慢,这是因为编译器会在编译时加载所有类。但它对运行时性能没有影响。

        【讨论】:

          猜你喜欢
          • 2011-07-18
          • 2012-04-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-08-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多