【问题标题】:Which is a better way of writing code? Specific constructors or imports哪个是编写代码的更好方法?特定的构造函数或导入
【发布时间】:2013-08-31 19:29:06
【问题描述】:

我只是好奇哪种是首选的编码方式,因为我见过这两种方式编写的代码。

import java.util.ArrayList;
import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new ArrayList();

import java.util.List;
 /**
 *Rest of code
 */
 List<Blah> blahs = new java.util.ArrayList();

那么,哪个是首选,为什么?两种方法的优缺点是什么?只是好奇。

【问题讨论】:

  • 唯一的区别是可读性(它对编​​译器没有显着影响,并且会导致相同的字节码)。因此,无论您觉得哪个更具可读性。 IMO:选项 1。

标签: java object optimization import constructor


【解决方案1】:

那么,哪个是首选,为什么?

应该首选第一个。代码清晰是最重要的问题。

这两种方法的优缺点是什么?

好吧,编译器无论如何都会将第一种方法转换为后一种方法,方法是将所有类和类型替换为它们的完全限定名。两种代码都将导致相同的字节码。因此,您真的不应该为这些东西烦恼。 (可以通过javap命令查看字节码)

您使用完全限定名称的唯一原因是解决您已导入的不同包中的名称冲突。例如,如果您同时导入 java.util.*java.sql.*,则需要使用 Date 类的完全限定名称。

相关帖子:

【讨论】:

    【解决方案2】:
    • 当您有多个具有相同简单名称的类时,首选完全限定名称。

    • 在所有其他情况下,prefferedeasy-to-read 方法将导入完全限定的名称并使用简单的类名。

    【讨论】:

      【解决方案3】:

      可能是前者,因为后者看起来有点晦涩。如果您使用的是在不同包中找到的多个类,则应该只使用后者(在类之前指定包名)。

      【讨论】:

        猜你喜欢
        • 2020-01-29
        • 2020-09-20
        • 2019-02-02
        • 1970-01-01
        • 2011-05-09
        • 2013-01-14
        • 2017-08-19
        • 1970-01-01
        相关资源
        最近更新 更多