泛型与原始 objects

Generics in conjunction with primitive objects

我正在编写一个小型个人排序方法和数据结构库,我正试图通过允许它们使用泛型类型来使我的 classes 更健壮,使用 <T extends Comparable<T>>。当我阅读一个充满 String 类型的文本文件或需要存储具有 compareTo() 方法的自定义 class objects 时,这非常有效。我不确定的是如何将此功能扩展到一个充满数字的文本文件,例如所有类型 int。在我的理解中,int是一个原始类型,没有任何方法,包括compareTo()。这会阻止我的 classes 能够接受类型 int.

谢谢。

回答,@dasblinkenlight 提供:

编辑:修改标题以提供更准确的参考。

My first idea is to wrap each int in an object<T>, and just feed it in.

您不必 - 这就是 java.lang.Integer 的目的。 Java.

的所有其他基本类型都存在类似的包装器类型

Is this a clean solution, or is there more of a best practices approach?

这取决于您的性能要求。如果包装基元是可以接受的(它适用于大多数应用程序),那么您就有了可行的方法。

在不太可能的情况下,这种方法不够快,您需要为每个基元类型构建特殊的 类,其方式类似于 Java 对基元流的处理方式( IntStream, LongStream, DoubleStream, 等)