我正在编写一个小型的排序方法和数据结构库,我试图通过允许它们使用泛型类型来使我的类更加健壮,使用{{1} }。当我在一个充满类型<T extends Comparable<T>>
的文本文件中阅读时,或者需要存储具有String
方法的自定义类对象时,这非常有效。我不确定的是如何将此功能扩展到一个充满数字的文本文件,例如所有类型compareTo()
。据我所知,int
是一种原始类型,没有任何方法,包括int
。这可以防止我的类能够接受类型compareTo()
。
int
打包在int
中,然后将其输入。感谢。
答案,@ dasblinkenlight提供:
修改:修改标题以获得更准确的参考。
答案 0 :(得分:6)
我的第一个想法是将每个int包装在
object<T>
中,然后将其输入。
你不必 - 这就是java.lang.Integer
的用途。所有其他原始类型的Java都存在类似的包装类型。
这是一个干净的解决方案,还是有更多的最佳实践方法?
这取决于您的性能要求。如果包装原语是可接受的(适用于大多数应用程序),那么你就有了一种工作方法。
在不太可能出现这种方法不够快的情况下,您需要为每种基本类型构建特殊类,其方式类似于Java对基元流的采用(IntStream
,{{ 3}},LongStream
等。)