【发布时间】:2018-06-04 05:36:28
【问题描述】:
我想创建一个数组(或 List、ArrayBuffer 等),它只能包含具有定义隐式排序(例如 Int、Long、Double)的类的实例。
类似这样的:
val ab = new ArrayBuffer[???]()
ab += 7
ab += 8.9
ab += 8L
我不想将这些值相互比较。
【问题讨论】:
-
您是否真的想将不同类型的单个集合对象放入其中,只要每种类型都有一些
Ordering[T]?例如,如果每个组件都有排序,则元组有排序。那么将元组(1.0, "some string")添加到您的ab是否可以,因为它与您列出的其他值根本无法比较?以后你会如何使用这样的ab?当您通过某个索引从ab中获取值时,您希望得到什么类型? -
我将有一个这样的
ab-s 数组,并且我想比较例如 all 的第一个值 - 假定所有第一个元素都具有相同的类型。 -
您可能想考虑使用
HList。
标签: scala collections implicit