Scala映射与原始类型值类型

时间:2011-08-08 09:34:24

标签: scala

据我所知,从scala stdlib声明一个地图并不会将它专门化为原始类型。我正在寻找的是不支付装箱/拆箱的价格,但同时有scala地图的界面。一个明显的选择是使用特洛伊地图,但我不相信有scala视图。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

目前这是不可能的,因为界面不是专门的。这意味着无论您在集合本身中执行什么操作,都会将值装箱以便通过界面进行处理。

目前没有特别令人满意的选择;对于那些方便性比性能更重要的情况,使用Trove对Scala集合进行一些隐式转换可能是最好的。

(我已经尝试自己解决这种情况,并且可以证明在编译器中提供当前的专业化支持状态并不容易;专门研究现有的库现在不实用,创建自己的库很难希望未来版本能在这里改进,但现在对你来说没什么用。)