java.util.*包是否仅用于实用程序类?

java.util.*包是否仅用于实用程序类?,java,standards,packages,utility,Java,Standards,Packages,Utility,我用Java编程,被告知要将一些代码重构为编码标准。我被告知util包是用于静态实用程序类的,而不是用于应用程序功能。这是正确的吗?这到底意味着什么?另外,考虑到“java.util”包包含集合接口,我如何才能完成需要列表的任务呢?谁告诉你这是错误的,或者你误解了java.util.*有一系列非常有用、非常常见的类,其中大多数不是实用程序类(一般意义上是“一个只有/大部分用于公共任务的静态方法的类”)。例如,List位于java.util中,以及它的常用实现ArrayList和LinkedLis

我用Java编程,被告知要将一些代码重构为编码标准。我被告知util包是用于静态实用程序类的,而不是用于应用程序功能。这是正确的吗?这到底意味着什么?另外,考虑到“java.util”包包含集合接口,我如何才能完成需要列表的任务呢?

谁告诉你这是错误的,或者你误解了
java.util.*
有一系列非常有用、非常常见的类,其中大多数不是实用程序类(一般意义上是“一个只有/大部分用于公共任务的静态方法的类”)。例如,
List
位于
java.util
中,以及它的常用实现
ArrayList
LinkedList
。同上
Map
/
HashMap
/
TreeMap
Set
/
HashSet
/
TreeSet
,以及许多其他内容。

对于util包中出现的内容,没有严格的规则。引用javadoc
java.util
包含

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

正如您正确地说的,这不仅仅是实用程序类。在这种情况下,这个人似乎把utility和package util这个词理解得有点过于字面


我想说,util包适用于各种有用的类,这些类没有足够的相似类来证明在它们自己的包中对它们进行分组是正确的。

嗯,如果您被确切地告知这一点,那么您被告知的是错误的。你能澄清一下这正是我告诉你的吗?“除非在静态实用程序类中,否则不要使用java.util类?”这似乎是一个奇怪的断言。回头看看“重构”是什么意思,看看你被要求将一些代码转换成的“编码标准”。首先关注您的编码标准,找出“代码”与标准不匹配的原因。然后看看转换(重构)到匹配。不过要清楚,你不应该把自己的代码放到java.util中……也许你正在使用的应用程序中的util包遵循这个惯例,但这并不适用于全球。就Java包而言,唯一真正的约定是没有约定,我很可能会误解。不管怎样,至少我现在知道要进一步讨论并得到澄清。我只是想确保这不是我遗漏的一条重要规则。谢谢