【问题标题】:Are the java.util.* packages only meant for utility classes?java.util.* 包是否仅适用于实用程序类?
【发布时间】:2014-03-07 05:55:16
【问题描述】:

我正在使用 Java 编程,并被告知将一些代码重构为编码标准。有人告诉我 util 包用于静态实用程序类而不是应用程序功能。这个对吗?这到底是什么意思?另外,考虑到“java.util”包包含 Collection 接口,我还能如何完成需要列表的任务?

【问题讨论】:

  • 嗯,如果你被告知这就是你被告知的错误。你能澄清一下这正是你被告知的吗? “除了静态实用程序类之外,不要使用 java.util 类吗?” 这似乎是一个奇怪的断言。
  • 返回并了解“重构”的含义,并查看您被要求将某些代码转换为的“编码标准”。首先关注您的编码标准,并找出“代码”与标准不匹配的原因。然后看transform(重构)来匹配
  • 要明确的是,您不应该将您自己的代码放入 java.util...
  • 也许您正在开发的应用程序中的 util 包遵循此约定,但这并不适用于全球。
  • 就 Java 包而言,唯一真正的约定是没有约定

标签: java standards packages utility


【解决方案1】:

谁告诉你这是错的——或者你误解了。 java.util.* 有一个 bunch 非常有用、非常常见的类,其中大多数不是实用程序类(在“只有/大部分是用于常见任务的静态方法的类”的常识中)。例如,Listjava.util 中,以及它的常用实现ArrayListLinkedList。同上Map/HashMap/TreeMapSet/HashSet/TreeSet 和许多其他人。

【讨论】:

  • 我很可能误解了。无论哪种方式,至少我现在知道要进一步讨论并得到澄清。我只是想确保这不是我遗漏的重要规则。谢谢!
【解决方案2】:

对于 util 包中出现的内容没有硬性规定。引用 javadoc java.util 包含

集合框架、遗留集合类、事件模型、日期和时间工具、国际化和其他实用程序类(字符串标记器、随机数生成器和位数组)。

正如您所说的那样,这不仅仅是实用程序类。在这种情况下,这个人似乎对实用程序和包实用程序这个词的理解有点过于字面了。

我会说 util 包是用于杂项有用的类,这些类没有足够的相似类来证明将它们分组到自己的包中是合理的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 2021-08-17
    • 1970-01-01
    • 2013-02-20
    • 1970-01-01
    • 2017-02-20
    相关资源
    最近更新 更多